Использование нестандартного объявления массива в 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.

Ответы на вопрос(2)

Ваш ответ на вопрос