Microsoft C++ 32 位元和 64 位元編譯器會辨識本文稍後所提供表格中的類型。
- int (unsigned int)
- __int8 (unsigned __int8)
- __int16 (unsigned __int16)
- __int32 (unsigned __int32)
- __int64 (unsigned __int64)
- short (unsigned short)
- long (unsigned long)
- long long (unsigned long long)
如果其名稱開頭為兩個底線 (__
),則資料類型是非標準的。
下表中指定的範圍是兩端皆包含。
類型名稱 | Bytes | 其他名稱 | 值的範圍 |
---|---|---|---|
int |
4 | signed |
-2,147,483,648 至 2,147,483,647 |
unsigned int |
4 | unsigned |
0 到 4,294,967,295 |
__int8 |
1 | char |
-128 到 127 |
unsigned __int8 |
1 | unsigned char |
0 至 255 |
__int16 |
2 | short }, |
-32,768 至 32,767 |
unsigned __int16 |
2 | % | 0 到 65,535 |
__int32 |
4 | signed }, |
-2,147,483,648 至 2,147,483,647 |
unsigned __int32 |
4 | % | 0 到 4,294,967,295 |
__int64 |
8 | % | -9,223,372,036,854,775,808 至 9,223,372,036,854,775,807 |
unsigned __int64 |
8 | unsigned long long |
0 到 18,446,744,073,709,551,615 |
bool |
1 | none | false 或 true |
char |
1 | none | 預設為 -128 至 127 使用 /J 編譯時為 0 至 255 |
signed char |
1 | none | -128 到 127 |
unsigned char |
1 | none | 0 至 255 |
short |
2 | % | -32,768 至 32,767 |
unsigned short |
2 | unsigned short int |
0 到 65,535 |
long |
4 | % | -2,147,483,648 至 2,147,483,647 |
unsigned long |
4 | unsigned long int |
0 到 4,294,967,295 |
long long |
8 | 無 (但是相當於 __int64 ) |
-9,223,372,036,854,775,808 至 9,223,372,036,854,775,807 |
unsigned long long |
8 | 無 (但是相當於 unsigned __int64 ) |
0 到 18,446,744,073,709,551,615 |
enum |
視情況而異 | none | |
float |
4 | none | 3.4E +/- 38(七位數) |
double |
8 | none | 1.7E +/- 308 (15 位數) |
long double |
與 double 相同 |
none | 與 double 相同 |
wchar_t |
2 | __wchar_t |
0 到 65,535 |
__wchar_t
的變數會指定寬字元類型或多位元組字元類型。 在字元或字串常數之前使用 L
前置詞可指定寬字元類型常數。
signed
和 unsigned
為修飾詞,可搭配任何整數類資料類型使用,但不包括 bool
。 請注意,char
、signed char
和 unsigned char
是三個適用於像是多載和範本機制的不同類型。
int
和 unsigned int
類型的大小為 4 位元組。 不過,可攜式程式碼不應依賴 int
的大小,因為語言標準允許依實作的特定用法。
Visual Studio 中的 C/C++ 也支援具大小的整數類型。 如需詳細資訊,請參閱 __int8, __int16, __int32, __int64
和整數限制。
如需每個類型之大小限制的詳細資訊,請參閱內建類型。
列舉類型的範圍會根據語言內容和指定的編譯器旗標而變更。 如需詳細資訊,請參閱 C 列舉宣告 和 列舉。