C sizeof 运算符

❮ C 数据类型十进制小数位精度

C 数据类型实例 ❯

C sizeof 运算符

更新于 2025/12/5 8:12:17

获取内存大小

我们在数据类型章节中介绍过,变量的内存大小取决于其类型:

数据类型

大小

int

2 or 4 bytes

float

4 bytes

double

8 bytes

char

1 byte

内存大小指的是数据类型在计算机内存中占用的空间大小。

要获取数据类型或变量的实际大小(以字节为单位),请使用 sizeof 运算符:

示例

int myInt;float myFloat;double myDouble;char myChar;

printf("%zu", sizeof(myInt));printf("%zu", sizeof(myFloat));

printf("%zu", sizeof(myDouble));printf("%zu", sizeof(myChar));

亲自试一试 »

请注意,我们使用 %zu 格式说明符来打印结果,而不是 %d。这是因为编译器期望 sizeof 运算符返回 size_t 类型的值,而 size_t 是一种 无符号整数类型。在某些计算机上,使用 %d 可能也能工作,但使用 %zu 更安全、更具可移植性,因为它是专门为打印 size_t 值而设计的。

为什么我需要了解数据类型的大小?

了解数据类型的大小有助于您了解程序使用的内存量。

这在编写大型程序或使用有限内存时尤为重要,因为它会影响程序的性能和效率。

例如,char 类型的大小为 1 字节。这意味着,如果您有一个包含 1000 个 char 值的数组,它将占用 1000 字节(1 KB)的内存。

使用正确的数据类型可以节省内存并提高程序的性能。

在本教程的后续部分,您将学习更多关于sizeof运算符的内容,以及如何在不同场景中使用它。

❮ C 数据类型十进制小数位精度

C 数据类型实例 ❯