为什么sizeof字符常量是4个字节?

时间:2017-01-09 13:36:01

标签: c sizeof

以下程序产生

  

输出 - 1 4 4

#include<stdio.h>
void main()
{
    char ch;
    ch='A'; 
    printf("%d %d %d\n",sizeof(ch),sizeof('A'),sizeof(3.2f));

}

为什么字符常量的大小是4个字节?

2 个答案:

答案 0 :(得分:3)

因为根据C标准,字符常量的类型是int,而不是char

因此,实际上,这是您平台上的sizeof(int)

答案 1 :(得分:2)

ch是char类型,所以1个字节。

'A'是int类型,所以4个字节。因为在C中,字符常量是int类型。

最后是浮点值,所以4个字节。

这些值根据您使用的机器而定。

  

编辑 -

int和float的范围取决于您使用的机器,16位int与32位int一样普遍。