Мой код выглядит следующим образом: (п представляет собой число среди 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?
Почему вы хотите использовать прыжок, вы можете сделать это без прыжка. (Что лучше) Я должен добавить, что это может помочь вам http://stackoverflow.com/questions/15702297/dynamic-jump-to-label-in -c – ncm
Вы можете сделать то же самое с помощью оператора switch. –
@immiso: спасибо, но на самом деле я изучал представление сборки инструкции switch ... и исходные коды c переводились в расширенную форму C выше, чтобы проиллюстрировать «таблицу перехода». – Allen