字符串字面量 (String Literal)
1. 字符串
字符串是编程语言中表示文本的一种数据类型。形式化的定义请见 维基百科。
在 C 语言中,使用以一个空字符终止的序列(这个字符不算字符串的一部分)表示字符串,称为空终止字符串,也叫 C 风格字符串。
2. 字符串字面量
字符串字面量用于把文本“直接写进源代码”。
字符串字面量的内容不能修改,修改会导致未定义行为 (Undefined Behavior, UB)。
形式上用双引号包裹(可以有编码前缀),例如:
c"Hello world" u"Hello world" L"Hello world"1
2
3字符串字面量可以在源代码中进行拼接:相邻的字符串字面量会被合并为一个更长的字面量。
3. 字符串字面量和字符串
- 一个字符串字面量不一定表示一个字符串。如果字符串字面量的中间有
'\0'(例如"mdr\0mdr"),那么它可以表示两个或多个字符串。
4. 习题
#10424
⚡3⏳2
写出一个“相邻字符串字面量拼接”的示例,并说明拼接发生在什么时候(编译期还是运行期)。