c++資料型別
阿新 • • 發佈:2020-07-23
C++ 資料型別
使用程式語言進行程式設計時,需要用到各種變數來儲存各種資訊。變數保留的是它所儲存的值的記憶體位置。這意味著,當您建立一個變數時,就會在記憶體中保留一些空間。
您可能需要儲存各種資料型別(比如字元型、寬字元型、整型、浮點型、雙浮點型、布林型等)的資訊,作業系統會根據變數的資料型別,來分配記憶體和決定在保留記憶體中儲存什麼。
基本的內建型別
C++ 為程式設計師提供了種類豐富的內建資料型別和使用者自定義的資料型別。下表列出了七種基本的 C++ 資料型別:
型別 | 關鍵字 |
---|---|
布林型 | bool |
字元型 | char |
整型 | int |
浮點型 | float |
雙浮點型 | double |
無型別 | void |
寬字元型 |
wchar_t |
其實 wchar_t 是這樣來的:
typedef short int wchar_t;
所以 wchar_t 實際上的空間是和 short int 一樣。
一些基本型別可以使用一個或多個型別修飾符進行修飾:
- signed
- unsigned
- short
- long
下表顯示了各種變數型別在記憶體中儲存值時需要佔用的記憶體,以及該型別的變數所能儲存的最大值和最小值。
注意:不同系統會有所差異,一位元組為 8 位。
注意:long int 與 int 都是 4 個位元組,因為早期的 C 編譯器定義了 long int 佔用 4 個位元組,int 佔用 2 個位元組,新版的C/C++ 標準相容了早期的這一設定。
型別 | 位 | 範圍 |
---|---|---|
char | 1 個位元組 | -128 到 127 或者 0 到 255 |
unsigned char | 1 個位元組 | 0 到 255 |
signed char | 1 個位元組 | -128 到 127 |
int | 4 個位元組 | -2147483648 到 2147483647 |
unsigned int | 4 個位元組 | 0 到 4294967295 |
signed int | 4 個位元組 | -2147483648 到 2147483647 |
short int | 2 個位元組 | -32768 到 32767 |
unsigned short int | 2 個位元組 | 0 到 65,535 |
signed short int | 2 個位元組 | -32768 到 32767 |
long int | 8 個位元組 | -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807 |
signed long int | 8 個位元組 | -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807 |
unsigned long int | 8 個位元組 | 0 到 18,446,744,073,709,551,615 |
float | 4 個位元組 | 精度型佔4個位元組(32位)記憶體空間,+/- 3.4e +/- 38 (~7 個數字) |
double | 8 個位元組 | 雙精度型佔8 個位元組(64位)記憶體空間,+/- 1.7e +/- 308 (~15 個數字) |
long double | 16 個位元組 | 長雙精度型 16 個位元組(128位)記憶體空間,可提供18-19位有效數字。 |
wchar_t | 2 或 4 個位元組 | 1 個寬字元 |
從上表可得知,變數的大小會根據編譯器和所使用的電腦而有所不同。
下面例項會輸出您電腦上各種資料型別的大小。