Таблица переходов и указатели кода
Мой код выглядит следующим образом: (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. Поэтому лучше избегать.