C sizeof 运算符
获取内存大小
我们在数据类型章节中介绍过,变量的内存大小取决于其类型
数据类型 | 大小 |
---|---|
int |
2 或 4 字节 |
float |
4 字节 |
double |
8 字节 |
char |
1 字节 |
内存大小指的是一种类型在计算机内存中占用的空间大小。
要实际获取数据类型或变量的大小(以字节为单位),请使用sizeof
运算符
示例
int myInt;
float myFloat;
double myDouble;
char myChar;
printf("%lu\n", sizeof(myInt));
printf("%lu\n", sizeof(myFloat));
printf("%lu\n", sizeof(myDouble));
printf("%lu\n", sizeof(myChar));
亲自尝试 »
请注意,我们使用%lu
格式说明符来打印结果,而不是%d
。这是因为编译器希望 sizeof 运算符返回一个long unsigned int
(%lu
),而不是int
(%d
)。在某些计算机上,它可能可以使用%d
,但使用%lu
更安全。
为什么要知道数据类型的大小?
了解不同数据类型的大小很重要,因为它说明了内存使用和性能。
例如,char
类型的尺寸为 1 字节。这意味着如果你有一个包含 1000 个char
值的数组,它将占用 1000 字节(1 KB)的内存。
对不同目的使用正确的数据类型将节省内存并提高程序性能。
你将在本教程的后面学习更多关于sizeof
运算符的信息,以及如何在不同的场景中使用它。