エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
gccでは、次のように、関数の中で関数を定義することができます(内部に書かれた関数をnested functionな... gccでは、次のように、関数の中で関数を定義することができます(内部に書かれた関数をnested functionなどと呼びます)。 void func(void) { int x; void inner_func(void) { printf("%d\n", x); // a. } inner_func(); // b. } ここで、nested function では、外側の関数で宣言されているローカル変数を参照することができます(a.の部分)。どのように外側の関数が呼び出されたかによって、外側の関数のローカル変数のアドレスは変化しますから、b. でinner_func()を呼ぶとき、何らかの方法でそのアドレス(以下Xとします)を渡してやる必要があります。さもないとa.で正しい値をprintfできません。 Linux/x86 + gcc-3.3.3 では、ECXレジスタを用いてアドレス