小编mil*_*iez的帖子

用于数组数组的指定初始化程序

我们可能知道c99中的指定初始值设定项以及它们用于初始化大型const数组的方式:

const int vals[] = {
    [0] = 10,
    [10] = 12
}
Run Code Online (Sandbox Code Playgroud)

其中initalizes指数0vals10和索引10vals12.

我的问题是如何将这种类型的指定初始化器用于数组数组.这是我的示例代码:

typedef enum {
    COMMON = 0,
    STRINGS,
    KEY,
    PRECUSSIVE,
    GUITAR,
    KEYBOARD,
    BASS,
    PIANO,
    DRUMS,
    _INST_MAX
} instrument_classification_t;
static const int * const instrument_class_hierarchy[] = {
    [COMMON] = {STRINGS, KEY, PRECUSSIVE, _INST_MAX},
    [STRINGS] = {GUITAR, BASS, _INST_MAX},
    [KEY] = {PIANO, KEYBOARD, _INST_MAX},
    [PRECUSSIVE] = {DRUMS, _INST_MAX},
    [GUITAR] = NULL,
    [KEYBOARD] = NULL, …
Run Code Online (Sandbox Code Playgroud)

c c99

3
推荐指数
1
解决办法
489
查看次数

标签 统计

c ×1

c99 ×1