c++ - 了解 C++ - "character literal"与 "string literal"

标签 c++ 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/

相关文章:

c++ - 跨平台硬件加速 2d C++ 应用程序?

c++ - protobuf 消息持有对同一类型的另一条消息的引用

C 无法向结构添加新元素

c - 从 char 数组中获取值

c++ - 如何创建一个 ' 字符常量

c++ - 确定一个数组是否包含在另一个数组中

c++ - 如何将国际字符发送到 Windows 控制台?

c++ - Windows map 文件系统

c - 使用 malloc 分配 char 数组