21.4 怎樣調用一個由 char * 指針指向函數名的函數?

最直接的方法就是維護一個名字和函數指針的列表:
    int one_func(), two_func();
    int red_func(), blue_func();

    struct { char *name; int (*funcptr)(); } symtab[] = {
        "one_func", one_func,
        "two_func", two_func,
        "red_func", red_func,
        "blue_func",blue_func,
    };
然後搜索函數名, 就可以調用關聯的函數指針。參見問題 2.13, 18.13 和 19.35

參考資料: [PCS, Sec. 11 p. 168]。

翻譯朱群英、孫雲, LaTeX2HTML 編譯 朱群英 (2005-06-23)