![5e4a19f3842e31b52adb74dbcf839556.png](https://img-blog.csdnimg.cn/img_convert/5e4a19f3842e31b52adb74dbcf839556.png)
编写C程序时需要考虑每种数据类型在内存中所占的内存大小,即使同一种数据类型在不同平台下所占内存大小亦不相同。为了得到某个类型在特定平台上的准确大写,可以使用sizeof运算符,表达式sizeof(type)得到对象或类型的存储字节大小。
- char存储大小1字节,值范围-128~127;
- unsigned char存储大小1字节,值范围0~255;
- short存储大小2字节,值范围-32768~32767;
- unsigned short存储大小2字节,值范围0~65535;
- int——
16位系统存储大小2字节,值范围-32768~32767,
32、64位系统存储大小4字节,值范围-2147483648~2147483647;
- unsigned int——
16位系统存储大小2字节,值范围0~65535,
32、64位系统存储大小4字节,值范围0~4294967295;
- long——
16、32位系统存储大小4字节,值范围-2147483648~2147483647,
64位系统存储大小8字节,值范围-9223372036854775808~9223372036854775807;
- unsigned long——
16、32位系统存储大小4字节,值范围0~4294967295,
64位系统存储大小8字节,值范围0~18446744073709551615;
- float存储大小4字节,值范围1.175494351*10^-38~3.402823466*10^38;
- double存储大小8字节,值范围2.2250738585072014*10^-308~1.7976931348623158*10^308;
- long long存储大小8字节,值范围-9223372036854775808~9223372036854775807;
- unsigned long long存储大小8字节,值范围0~18446744073709551615;
- long double——
16位系统存储大小8字节,值范围2.22507*10^-308~1.79769*10^308,
32位系统存储大小12字节(有效位10字节,为了对齐实际分配12字节),值范围3.4*10^-4932 到 1.1*10^4932,
64位系统存储大小16字节(有效位10字节,为了对齐实际分配16字节),值范围3.4*10^-4932 到 1.1*10^4932;
- 指针——
16位系统存储大小2字节,
32位系统存储大小4字节,
64位系统存储大小8字节。
#include
运行结果:
![31459f6a5031b275243abb22fb0407be.png](https://img-blog.csdnimg.cn/img_convert/31459f6a5031b275243abb22fb0407be.png)
源码地址:https://github.com/Hyacinth-fjk/CombinedLanguageIntroduction/blob/master/2.C%E8%AF%AD%E8%A8%80%E5%90%84%E6%95%B0%E6%8D%AE%E7%B1%BB%E5%9E%8B%E6%89%80%E5%8D%A0%E5%AD%97%E8%8A%82%E6%95%B0/extremum.c