为什么C11递归地定义字符常量?

时间:2017-04-19 01:20:01

标签: character constants c11

字符常量在c11中定义为:
语法
字符常量:
' c-char-sequence'
L' c-char-sequence'
ü' c-char-sequence'
U' c-char-sequence'
C-炭序列:
C-字符
c-char-sequence c-char
C-CHAR:
除单引号',反斜杠\或换行符之外的源字符集的任何成员 逸出序列

它是递归定义的,所以在单引号内,有一个或多个c-chars,比如' abc'。
但是据我所知,一个字符常量只包含一个c-char,比如' a',不是吗?

1 个答案:

答案 0 :(得分:0)

  

据我所知,一个字符常量只包含一个c-char,比如' a',不是吗?

不,'abcd'也是一个字符常量。它的价值在技术上是实现定义的,但在我看来,它是由字符的值组成的,以大端顺序(在这种情况下,0x61626364)

cppreference的C方讨论了各种character constants