typedef char *pc; /* 字符指針 */ typedef pc fpc(); /* 返回字符指針的函數 */ typedef fpc *pfpc; /* 上面函數的指針 */ typedef pfpc fpfpc(); /* 返回函數指針的函數 */ typedef fpfpc *pfpfpc; /* 上面函數的指針 */ pfpfpc a[N]; /* 上面指針的數組 */
cdecl> declare a as array of pointer to function returning pointer to function returning pointer to char char *(*(*a[])())()通過類型轉換, cdecl 也可以用於解釋複雜的聲明, 指出參數應該進入哪一對括號 (如同在上述的複雜函數定義中)。參見問題 18.1。
上文的例子中的函數指針聲明還沒有包括參數類型信息。如果參數有複雜類型, 聲明就會變得真正的混亂了。現代的 cdecl 版本可以提供幫助。
參考資料: [K&R2, Sec. 5.12 p. 122]; [ISO, Sec. 6.5ff (esp. Sec. 6.5.4)]; [H&S, Sec. 4.5 pp. 85-92, Sec. 5.10.1 pp. 149-50]。
翻譯朱群英、孫雲, LaTeX2HTML 編譯 朱群英 (2005-06-23)