<分区>
我正在阅读一本讨论“字 rune 字”与“字符串文字”的教科书。它说了以下内容:
'A' 存储为 65
“A”存储为 65 0
char letter;
letter = 'A' // this will work
letter = "A" // this will not work!
教科书上的解释让我很困惑。它说“因为 char 变量只够容纳一个字符,所以你不能为它们分配字符串文字。”任何人都可以进一步解释,它没有点击我的脑袋。谢谢你的时间
<分区>
我正在阅读一本讨论“字 rune 字”与“字符串文字”的教科书。它说了以下内容:
'A' 存储为 65
“A”存储为 65 0
char letter;
letter = 'A' // this will work
letter = "A" // this will not work!
教科书上的解释让我很困惑。它说“因为 char 变量只够容纳一个字符,所以你不能为它们分配字符串文字。”任何人都可以进一步解释,它没有点击我的脑袋。谢谢你的时间
最佳答案
你应该看到这个: Single quotes vs. double quotes in C or C++
正如大家在这里所说的,想想数组。 一个字符只是一个字母或数字或符号,它由简单的引号声明。但是,当您用双引号声明时,您实际上是在指示它是关于字符串或数组的。因此,您应该像数组一样声明您的变量。例如:
char letter[] = "A";
或者
char *letter = "A";
如果你想要一个静态数组,你可以尝试这样的事情:
char letter[5] = {'H','E','L','L','O'};
如果你想看到另一个观点,你可以阅读: http://www.cplusplus.com/doc/tutorial/ntcs/
希望对您有所帮助。
关于c++ - 了解 C++ - "character literal"与 "string literal",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54171755/