C语言并没有规定各种类
占用存储空间的大小,而是根据操作系统的位数来确定
同一种数据类型,在不同的编译系统中所占空间不一定相同
比如,在16位的编译系统中,int类型占用2个字节,而在32位的编译系统中,int类型占用4个字节
为了获取某一数据或者数据类型在内存中所用的字节数,C语言中提供了sizeof运算符,用来获取数据字节数
语法格式
sizeof(数据类型名称);
或者
sizeof(变量名称)
示例代码
#include <stdio.h>
void main()
{
// 通过类型名称,计算各基本数据类型所占内存大小
printf("char:%d\n",sizeof(char));
printf("short:%d\n",sizeof(short));
printf("long:%d\n",sizeof(long));
printf("float:%d\n",sizeof(float));
printf("double:%d\n",sizeof(double));
printf("unsigned char:%d\n",sizeof(unsigned char));
printf("unsigned short:%d\n",sizeof(unsigned short));
printf("unsigned int:%d\n",sizeof(unsigned int));
printf("unsigned long:%d\n",sizeof(unsigned long));
// 通过变量名,计算变量所属数据类型占用内存大小
int val_int=100;
double val_double=100000.0;
printf("val_int:%d\n",sizeof(val_int));
printf("val_double:%d\n",sizeof(val_double));
}
运行结果