为什么sizeof的结果是8

如题所述

sizeof(char) = 1
sizeof(short) = 2
sizeof(int) = 2(16位机),4(32位机),8(64位机)
sizeof(float) = 4
sizeof(long) = 4(不知道64位机是多少)
这些其实是每种变量类型所占用的内存的字节数。
3.14实际是一个浮点数,系统会分配一个能够存储浮点数的最大空间内存,就是double类型
同理,如果是sizeof(3),系统会分配一个int整型的存储空间,而不是char类型。
如果指定了数据类型,系统就会按照该数据类型来分配存储空间,例如
float a=3.14;
printf("%d\n",sizeof(a));
输出值就是4,而不是8.
温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网