【发布时间】:2016-01-19 18:57:48
【问题描述】:
我有一个数组A,它封装了M 类型为B 的数组。每个这样的B 数组都有3-components。
但是,我需要将我的条目填充到4 components。一种方法是修改我的值,使其具有第 4 个零分量:
uint16_t A[M][4] = {{a0,a1,a2,0}, {a3,a4,a5,0}, ... , {aM-1,aM,aM+1,0}};
但是,我意识到我可以如下声明 A 并且 clang 没有抱怨:
uint16_t A[M][4] = {{a0,a1,a2}, {a3,a4,a5}, ... , {aM-1,aM,aM+1}};
这合法吗?编译器会扩展 A 的条目以包含第 4 个组件吗?您能否指出 C 标准 (PEP) 我在哪里可以看到这种行为的解释。
【问题讨论】:
标签: c arrays initialization language-lawyer