Таблица переходов и указатели кода

Мой код выглядит следующим образом: (n - это число среди 0,1,2 и 3, и loc_A/B/C/D каждый представляет блок кода)

int test(int n){
    static void *jt[7]= {&&loc_A, &&loc_B, &&loc_C, &&loc_D};
    goto *jt[n];
  loc_A:
    ......
  loc_B:
    ......
  loc_C:
    ......
  loc_D:
    ......
}

Что означает "&&loc_A"? Это адрес (или местоположение) кодов, которые представляет loc_A?

1 ответ

Решение

Да, но это не стандартный C. Вместо этого это расширение языка GNU. Поэтому лучше избегать.

Другие вопросы по тегам