小编Sky*_*def的帖子

为什么C中字符文字的大小与C++中的大小不同

我知道C和C++中的每个文字都会获得特定的类型信息.我在C中编写了这个小程序,并在Visual Studio 2012中对其进行了编译.源文件名为'main.c'.

#include <stdio.h>
int main()
{
    printf("sizeof(char) = %d\n",sizeof(char));
    printf("sizeof('i') = %d",sizeof('i'));
    getchar();
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

输出:

sizeof(char) = 1
sizeof('i') = 4
Run Code Online (Sandbox Code Playgroud)

我想知道角色的大小不是1字节.我将源文件重命名为'main.cpp',现在sizeof('a')返回1,如前所述.所以必须有语言特定的差异.为什么C 4字节中的字符大小而不是1?

c c++ sizeof

3
推荐指数
2
解决办法
756
查看次数

标签 统计

c ×1

c++ ×1

sizeof ×1