复合文字不是文字吗?

时间:2017-08-14 23:16:01

标签: c

来自C in a Nutshell:

  

第3章文字

     

在C源代码中,文字是表示固定值的标记,可以是整数,浮点数,字符或串。文字的类型由其值和符号决定。

     

这里讨论的文字不同于C99标准中引入的复合文字。   复合文字是普通的可修改的对象,类似于变量。有关复合文字和特殊运算符的完整描述   用于创建它们,请参阅第5章。

因此,文字具有固定值,即其值无法修改,而复合文字具有可修改的值。

据此,哪一个是正确的:

  • 复合文字不是文字,或
  • 文字的定义应该扩展为包含复合文字,它是固定值规则的唯一例外吗?

感谢。

1 个答案:

答案 0 :(得分:7)

C11标准从不定义“文字”。它只是单独提到“字符串文字”和“复合文字”。

00.0A中的enum { A }'\0'等标记统称为“常量”,“整数常量”, “浮点常量”,“枚举常量”和“字符常量”。