【发布时间】:2018-01-19 01:05:50
【问题描述】:
const int status[STATUS_SIZE] = {
[0] = -1,
[1] = 0,
[2] = 1,
};
和
const char *messages[MESSAGE_SIZE] = {
[0] = "OK",
[1] = "NG",
};
你能解释一下吗?
【问题讨论】:
标签: c
const int status[STATUS_SIZE] = {
[0] = -1,
[1] = 0,
[2] = 1,
};
和
const char *messages[MESSAGE_SIZE] = {
[0] = "OK",
[1] = "NG",
};
你能解释一下吗?
【问题讨论】:
标签: c
C99 引入了Designated Initializers,你可以用它来初始化一个数组 使用索引以任意顺序。
标准 C90 要求初始值设定项的元素以固定顺序出现,与被初始化的数组或结构中元素的顺序相同。
在 ISO C99 中,您可以按任何顺序指定元素,指定它们适用的数组索引或结构字段名称,GNU C 也允许将其作为 C90 模式的扩展。此扩展未在 GNU C++ 中实现。
要指定数组索引,请在元素值之前写入
[index] =。例如,int a[6] = { [4] = 29, [2] = 15 };等价于
int a[6] = { 0, 0, 15, 0, 29, 0 };
【讨论】: