数据类型所占字节大小

1.各数据类型的字节数

数据类型字节数
代码

#include<stdio.h>
int main()
{
    printf("char = %ld\n",sizeof(char));
    printf("int = %ld\n",sizeof(int));
    printf("unsigned int = %ld\n",sizeof(unsigned int));
    printf("short = %ld\n",sizeof(short));
    printf("unsigned short = %ld\n",sizeof(unsigned short));
    printf("long = %ld\n",sizeof(long));
    printf("long long = %ld\n",sizeof(long long));
    printf("float = %ld\n",sizeof(float));
    printf("double = %ld\n",sizeof(double));
    return 0;
}

2.linux下打印sizeof结果

打印结果需要用%ld或者%lu。如果使用%d会报错
warning :format‘%d’ expects argument of type ‘int’, but argument 2 has type ‘long int’ [-Wformat=]

 printf("char = %d\n",sizeof(char));//报警告
 printf("char = %lld\n",sizeof(char));//报警告

3.unsigned无法修饰float和double

unsigned 的意思就是把内存中的数据第一位也用来表示数据,而不用于表示符号位。而浮点数规定内存中数据的第一位必须是符号位。因此两者之间是互相矛盾的,这也就是为什么浮点数不会有unsigned类型。


版权声明:本文为weixin_45087979原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。