21.20 為什麼 C 沒有嵌套函數?
實現嵌套函數不是件簡單的事, 它們需要可以正當的訪問包含函數的
本地變量, 為了簡單化, 這個功能是被故意捨棄的。gcc 的擴展
功能允許函數嵌套。 許多可能使用嵌套函數的地方 (例如 qsort
的比較函數), 一個充分但少許麻煩的解決方法是使用一個定義為
靜態 (static) 的鄰近函數, 如果需要, 可以通過少量靜態
變量進行通訊。一個乾淨些的方法是傳遞一個包含所需內容的結構指針,
雖然 qsort 不支持這種方法。
翻譯朱群英、孫雲, LaTeX2HTML 編譯 朱群英 (2005-06-23)