C语言中 int long float double分别占用了多少个字节??

如题所述

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关键字分别求出来。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-02-19
你可以用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。
第2个回答  2019-12-24
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...
第3个回答  2020-12-23