Skip to content

字符串字面量 (String Literal)

  1. 在需要内嵌字符串到源代码中使用

  2. 字符串字面量不能修改(通常实现为放在只读内存中)

  3. 形式如下:

    c
    const char* str = "hello world";
  4. 字符串字面量的类型为 char[N],其中 N 为字符串中字符的个数,包括空终止符\0

  5. 演示存储方法

  6. Unicode 的讲解,详见 Unicode

  7. 几种带编码前缀的字符串字面量(编码前缀指定其编码格式):

    1. u8" ":UTF-8
    2. u" ":UTF-16
    3. U" ":UTF-32
    4. L" ":宽字符:在内存中用 Unicode 进行保存,输出的时候转化成多字节编码(相比之下,UTF-8 UTF-16 UTF-32 用多字节编码进行保存,较耗费存储空间)
  8. 字符串的拼接:

    1. 如果一个字符串字面量无编码前缀,则结果字符串字面量拥有有编码前缀的那个字符串指定的前缀
    2. C23 起不能拼接两个拥有不同编码前缀的字符串字面量(C23 前为实现定义行为)
  9. localesetlocale()