菜单
×
   ❮   
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

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 运算符的知识,以及如何在不同场景中使用它。


×

联系销售

如果您想将 W3Schools 服务用于教育机构、团队或企业,请发送电子邮件给我们
sales@w3schools.com

报告错误

如果您想报告错误,或想提出建议,请发送电子邮件给我们
help@w3schools.com

W3Schools 经过优化,旨在方便学习和培训。示例可能经过简化,以提高阅读和学习体验。教程、参考资料和示例会不断审查,以避免错误,但我们无法保证所有内容的完全正确性。使用 W3Schools 即表示您已阅读并接受我们的使用条款Cookie 和隐私政策

版权所有 1999-2024 Refsnes Data。保留所有权利。W3Schools 由 W3.CSS 提供支持