C11:定长数组声明如何符合C11标准的规范?

利德海

C11标准(N1548)第6.7.6节列出了声明程序的规范。

以我的理解(请参阅有关剖析C声明的答案),数组声明int * arr[5];有两个部分:(a)声明说明符int和(b)声明* arr[5]我的问题是如何根据C11标准解释声明符部分。

该标准说:在此处输入图片说明好的,因此*很显然对应于“指针”部分。因此,arr[5]必须对应于“直接声明符”部分。但是,在此标准中“直接声明符”的扩展中,似乎没有匹配的条目arr[5]-因为5括号中的常量表达式似乎与“ type-qualifier-list”或“ assignment-表达”。

那么,该声明如何适合C11标准的规范?

用户名

5赋值表达式

如果您看一下assignment-expression的定义,则其中之一就是conditional-expression对此的一种定义是逻辑或表达式通过跟踪该定义链,您最终将达到primary-expression,对于该表达式而言,在一个定义上它是常量

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章