我的代碼看起來是這樣的:(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代表的代碼的地址(或位置)嗎?
爲什麼你要使用跳躍,你可以做到沒有跳躍(這是更好)我應該補充說,這可以幫助你http://stackoverflow.com/questions/15702297/dynamic-jump-to-label-in -c – ncm
你可以用switch語句做同樣的事情。 – 2013-07-07 04:15:00
@imsiso:謝謝你,但實際上我正在學習switch語句的程序集表示...並將原始c代碼翻譯爲上面的擴展C形式以便說明「跳轉表」。 – Allen