私は知識に何ものかを付け加え,また他の人々がより多くのものを付け加える手助けをした --- G.H.ハーディ gcc の独自拡張として,外側のスコープの変数を参照可能なローカル関数を定義できる (nested functions extension) というのがあります.例えば,こんなコードも valid です. #include <stdio.h> int main() { int foo(int x) { int bar(int y) { int baz() { return x + y; } return baz(); } return bar(20); } printf("%d\n", foo(10)); return 0; } $ gcc test.c $ ./a.out 30 今回は,こういう簡単なローカル関数の構文木を作ります. int main() { int x = 10