Usando declaração não padrão da matriz em C

Me deparei com o seguinte código que declarachar * matriz emC de maneira não padronizada:

    /* Message Type description array */ 
    char *msgType[M_LAST_MSG] = 
    {    
       [M_INIT_MSG]     "Init", 
       [M_RESET_MSG]    "Serdes Reset"
    };

M_INIT_MSG, M_RESET_MSG eM_LAST_MSG são enumerações com valores correspondentes de 0, 1 e 2. De acordo com oC Nas documentações, as variáveis dentro dessa matriz são string (literais); então, qual é o objetivo de usar essas enumerações dessa maneira e existe alguma documentação para fazer backup?

Compilado com ARMgcc compiladorgcc-arm-none-eabi.

questionAnswers(2)

yourAnswerToTheQuestion