sizeof('a')vs size('aa')

Jus*_*ang 2 c++ int byte sizeof char

我曾尝试通过谷歌和这样的研究,但我只能找到结果sizeof('a')它的类型int,因此应该给我4个字节,但是当我运行此我得到1个字节(我想可能是因为我的链接是一个参考对于C而不是C++).然而,这里有趣的是,当我键入时,sizeof('aa')我得到4个字节.而且aa(例如aaaaaaa)之后的任何字符仍然给我4个字节.为什么随着更多字符的增加,3个字节突然增加并保持不变?另外为什么sizeof(int)在这里给我1个字节?

谢谢!

小智 6

sizeof('a') 这是类型 int

既不是,'a'也不sizeof('a')int.在C++中,单字符文字是类型char,sizeof()表达式的类型是size_t.

此外:

type int[...]应该给我4个字节

不,int不一定需要4个字节长.