Использование нестандартного объявления массива в C
Я наткнулся на следующий код, который объявляетchar *
массив вC
нестандартным способом:
/* Message Type description array */
char *msgType[M_LAST_MSG] =
{
[M_INIT_MSG] "Init",
[M_RESET_MSG] "Serdes Reset"
};
M_INIT_MSG
, M_RESET_MSG
а такжеM_LAST_MSG
перечисления с соответствующими значениями 0, 1 и 2. Согласно формальнымC
документация, переменные внутри этого массива являются строковыми (литералами), так какова цель использования этих перечислений таким образом, и есть ли какая-либо документация для их резервного копирования?
Скомпилировано с ARMgcc
компиляторgcc-arm-none-eabi
.