char/signed char/unsigned char: 1个字节;
char*(即指针变量):
2个字节(16位编译器)
4个字节(32位编译器)
8个字节(64位编译器)
short int: 2个字节
int/unsigned int:
2个字节(16位编译器)
4个字节(32/64位编译器)
long int: 4个字节
float: 4个字节
double: 8个字节
long double: 8/10/12/16?
long/unsigned long:
4个字节(16/32位编译器)
8个字节(64位编译器)
long long: 8个字节
string: 字符个数+1
上面的只是参考,具体的长度你可以在你的编译器中使用sizeof关键字分别求出来。
你可以用sizeof来测算一个类型或一个变量占用的内存大小。
比如:size_t size = sizeof(int);
常用类型大小如下:
类型
大小
bool
1 个字节
char , unsigned char, signed char
1 个字节
short, unsigned short
2 个字节
int , unsigned int
4 个字节
__int n
8、16、32、64 或 128 字节依赖 n 的值。__intn 是 Microsoft 专用的。
long, unsigned long
4 个字节
float
4 个字节
double
8 个字节
long double 1
8 个字节
long long
等效于 __int64。
char/signed char/unsigned char: 1个字节;char*(即指针变量):2个字节(16位编译器)4个字节(32位编译器)8个字节(64位编译器) short int: 2个字节 int/unsigned int:2个字节(16位编译器)4个字节(32/64位编译器) long int: 4个字节 float: 4个字节 double: 8个字节 long double: 8/10/12/16?long/unsigned long:4个字节(16/32位编译器)8个字节(64位编译器) long long: 8个字节 string: 字符个数+1...