Я изучал некоторый код в github https://github.com/umlaeute/v4l2loopback/blob/master/v4l2loopback.c и наткнулся на эту строку, что меня озадачило. Это какой-то невероятно классный макрос ядра или функция gcc, о которых я не знаю? Что делает = -1
?
static int video_nr[MAX_DEVICES] = { [0 ... (MAX_DEVICES-1)] = -1 };
module_param_array(video_nr, int, NULL, 0444);
MODULE_PARM_DESC(video_nr, "video device numbers (-1=auto, 0=/dev/video0, etc.)");
Линия, о которой идет речь, является первой, следующие две для контекста (это создает параметр cmdline-specificable с использованием макроса ядра http://lxr.free-electrons.com/source/include/linux/moduleparam.h#L103)
В любом случае, что происходит с инициализацией массива? Как работает этот синтаксис?