2

我尝试通过 google 和 SO 进行研究,但我只能找到类型的结果,因此应该给我 4 个字节,但是当我运行它时,我得到 1 个字节(我认为这可能是因为我拥有的链接是参考对于 C 而不是 C++)。然而,这里有趣的是,当我输入时,我得到 4 个字节。并且(例如or )之后的字符仍然给我 4 个字节。为什么随着更多字符的添加会突然增加 3 个字节并保持不变?还有为什么这里的 sizeof(int) 给了我 1 个字节?sizeof('a')intsizeof('aa')aaaaaaaaa

谢谢!

4

1 回答 1

6

sizeof('a')这是类型int

两者都不是'a'或。在 C++ 中,单字符文字的类型是,而表达式的类型是。sizeof('a')intcharsizeof()size_t

此外:

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

不,int不一定要正好是 4 个字节长。

于 2013-03-16T07:12:01.087 回答