型別
關鍵字布林型
bool
字元型char
整型int
浮點型float
雙浮點型
double
無型別void
寬字元型
wchar_t
一些基本型別可以使用乙個或多個型別修飾符進行修飾:
各資料型別在記憶體中所佔位元組的大小隨系統的差異而變,可通過sizeof()
函式檢視,下面直接總結一些基本型別所佔位元組的大小。
型別32位系統
64位系統
bool11
char11
short22
int4
4long44
double88
float44
*48注:有的地方說64位系統中long
佔8位元組,不過在我的電腦中實測確是4位元組,所以還是要根據實際的硬體及編譯器確定到底占用多少!
幾點說明:
#include
#include
#include
using namespace std;
intmain()
type: ************size**************
--------------------------------
*p: 所佔位元組數:8
--------------------------------
bool: 所佔位元組數:1 最大值:1 最小值:0
--------------------------------
char: 所佔位元組數:1 最大值: 最小值:€
signed char: 所佔位元組數:1 最大值: 最小值:€
unsigned char: 所佔位元組數:1 最大值: 最小值:
--------------------------------
short: 所佔位元組數:2 最大值:32767 最小值:-32768
unsigned short: 所佔位元組數:2 最大值:65535 最小值:0
wchar_t: 所佔位元組數:2 最大值:65535 最小值:0
--------------------------------
int: 所佔位元組數:4 最大值:2147483647 最小值:-2147483648
unsigned: 所佔位元組數:4 最大值:4294967295 最小值:0
--------------------------------
long: 所佔位元組數:4 最大值:2147483647 最小值:-2147483648
unsigned long: 所佔位元組數:4 最大值:4294967295 最小值:0
--------------------------------
double: 所佔位元組數:8 最大值:1.79769e+308 最小值:2.22507e-308
long double: 所佔位元組數:8 最大值:1.79769e+308 最小值:2.22507e-308
--------------------------------
float: 所佔位元組數:4 最大值:3.40282e+38 最小值:1.17549e-38
size_t: 所佔位元組數:8 最大值:18446744073709551615 最小值:0
string: 所佔位元組數:40
type: ************size**************
type: ************size**************
--------------------------------
*p: 所佔位元組數:4
--------------------------------
bool: 所佔位元組數:1 最大值:1 最小值:0
--------------------------------
char: 所佔位元組數:1 最大值: 最小值:€
signed char: 所佔位元組數:1 最大值: 最小值:€
unsigned char: 所佔位元組數:1 最大值: 最小值:
--------------------------------
short: 所佔位元組數:2 最大值:32767 最小值:-32768
unsigned short: 所佔位元組數:2 最大值:65535 最小值:0
wchar_t: 所佔位元組數:2 最大值:65535 最小值:0
--------------------------------
int: 所佔位元組數:4 最大值:2147483647 最小值:-2147483648
unsigned: 所佔位元組數:4 最大值:4294967295 最小值:0
--------------------------------
long: 所佔位元組數:4 最大值:2147483647 最小值:-2147483648
unsigned long: 所佔位元組數:4 最大值:4294967295 最小值:0
--------------------------------
double: 所佔位元組數:8 最大值:1.79769e+308 最小值:2.22507e-308
long double: 所佔位元組數:8 最大值:1.79769e+308 最小值:2.22507e-308
--------------------------------
float: 所佔位元組數:4 最大值:3.40282e+38 最小值:1.17549e-38
size_t: 所佔位元組數:4 最大值:4294967295 最小值:0
string: 所佔位元組數:28
type: ************size**************
參考:菜鳥教程c++資料型別 C 資料型別所佔位元組大小
對於指標型別,因為指標指向的是乙個位址,32位作業系統就是4位元組。64位作業系統那就是8位元組了。int這個型別佔作業系統乙個記憶體單元大小。早先16位作業系統乙個記憶體單元是16位,所以是2個位元組 32位系統乙個記憶體單元是是32位,所以是4位元組 64位作業系統,4位元組。整形加unsign...
C語言資料型別佔記憶體大小
c語言資料型別 使用sizeof計算各資料型別占用記憶體大小 includeint main struct test t typedef enumenum test typedef enumenum test2 typedef unionunion test char a 10 short b 10...
c 中資料型別佔記憶體位元組數
可用如sizeof char sizeof char 等得出 32位編譯器 char 1個位元組 char 即指標變數 4個位元組 32位的定址空間是2 32,即32個bit,也就是4個位元組。同理64位編譯器 short int 2個位元組 int 4個位元組 unsigned int 4個位元組...