2016-12-03 3 views
1

При просмотре кода ядра Linux я столкнулся с чем-то подобным.Нечеткое использование переменной структуры - C

struct dma_chan { 
     int lock; 
     const char *device_id; 
}; 

static struct dma_chan dma_chan_busy[MAX_DMA_CHANNELS] = { 
     [4] = { 1, "cascade" }, 
}; 

что это - [4] = { 1, "cascade" }, - использование намекает?

Примечание: Ядро версии 2.6.32

ответ

4

Это designated initializer. Инициализируется пятый элемент для { 1, "cascade" } явно, остальные являются по умолчанию инициализируется.

Смежные вопросы