返回類型 (*數組名[大小])(參數列表) — 先看數組名,再看 *,最後看參數。例如:
#includevoid f1(void) { puts("函數 f1 被調用!"); } void f2(void) { puts("函數 f2 被調用!"); } void f3(void) { puts("函數 f3 被調用!"); } int main(void) { void (*f[3])() = {f1, f2, f3}; int choice; while (1) { puts("請輸入 1, 2, 3 選擇函數,0 退出:"); if (scanf("%d", &choice) != 1) break; if (choice == 0) break; if (choice >= 1 && choice <= 3) { f[choice - 1](); // 通過指針調用 } else { puts("輸入無效,請輸入 1-3 或 0。"); } } puts("程序退出。"); return 0; }
+1, ++, -- 等均非法)。void (**f)())。typedef 簡化聲明:typedef void (*FuncPtr)(void); FuncPtr f[3];