您的位置:首页 > 编程语言 > C语言/C++

C语言基础数据类型所占字节长度

2018-03-07 16:40 344 查看

基础数据类型在内存中均以byte(字节)为单位存储,一个byte是8位,不同的数据类型所占字节不同

sizeof()获取一个数据类型的长度

32位机:

char   ——  1byte  ——8位
short  ——  2byte  ——16位
int      ——  4byte  ——32位
long   ——  4byte  ——32位
float   ——  4byte  ——32位
char*  ——  4byte  ——  32位

long long  ——8byte  ——64位
double——  8byte ——64位
long  double  ——12byte  ——96位

64位机:

char   ——  1byte  ——8位short  ——  2byte  ——16位int      ——  4byte  ——32位float   ——  4byte  ——32位
long   ——  8byte  ——64位long long  ——8byte  ——64位double——  8byte ——64位char*  ——8byte  ——  64位long  double  ——16byte  ——128位

代码如下:

#include<stdio.h>
int main()
{
printf("char所占字节长度为%d个byte\n",sizeof(char));
printf("int所占字节长度为%d个byte\n",sizeof(int));
printf("long所占字节长度为%d个byte\n",sizeof(long));
printf("short所占字节长度为%d个byte\n",sizeof(short));
printf("double所占字节长度为%d个byte\n",sizeof(double));
printf("float所占字节长度为%d个byte\n",sizeof(float));
printf("char*所占字节长度为%d个byte\n",sizeof(char*));
return 0;
}



因为long是4byte,我们可以推断出此编译系统是32位的,你也可以输出一下long double的长度来判断编译系统。注意:在这里的32位和64位指的是编译系统
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: