アプリ版:「スタンプのみでお礼する」機能のリリースについて

 以下C言語入門書の説明ですが!
 いまいちわかりません?
 
・関数内で宣言された変数の扱い
関数内で宣言した関数は、その関数内でのみ有効な変数になります。関数が異なれば、同じ変
数名で宣言することができます。例えば、main関数と(?)kansuu関数で、同じ(?)hennsuuという名
前の変数を宣言することができます。
 int main()
{
int (A)hensuu = 0;
(B)kansuuu(1);
}
int (C)kansuu(int hikusuu)
{
int (D)hensuu = 10;
}
 列のmain関数で宣言されている(?)hensuuと、さ(?)kansuu関数で宣言されている(?)hensuuは
同じ名前ですが、独立した異なるものです。(?)kansuu関数が実行されているときに、(?)hensuuの値
を変更しても、main関数で宣言されている(?)hensuuの値は変更されません。
また、(?)kansuu関数を実行している間だけ、(?)kansuu関数で宣言されている(?)hensuuが有効です。
(?)kansuu関数から呼び出し元でるmain関数に戻った際は、(?) kansuu関数で宣言した
(?)hensuuはもう有効ではなくな、値を参照することもなくなります。
  
 以上の説目で、
  (A)hensuu、 (B)kansuuu、(C)kansuu、(D)hensuu
 (アルファベット)を分かりやすいよう追加しました。
  説明の
  (?)にプログラムの(A)~(D)をつけたらどうなるか知りたいです。
(何となくわかるですが?)

  よろしくお願いします。

A 回答 (1件)

関数内で宣言した関数は、その関数内でのみ有効な変数になります。

関数が異なれば、同じ変
数名で宣言することができます。例えば、main関数と(C)kansuu関数で、同じ(A, D)hennsuuという名
前の変数を宣言することができます。
 int main()
{
int (A)hensuu = 0;
(B)kansuuu(1);
}
int (C)kansuu(int hikusuu)
{
int (D)hensuu = 10;
}
 列のmain関数で宣言されている(A)hensuuと、さ(C)kansuu関数で宣言されている(D)hensuuは
同じ名前ですが、独立した異なるものです。(C)kansuu関数が実行されているときに、(D)hensuuの値
を変更しても、main関数で宣言されている(A)hensuuの値は変更されません。
また、(C)kansuu関数を実行している間だけ、(C)kansuu関数で宣言されている(D)hensuuが有効です。
(C)kansuu関数から呼び出し元でるmain関数に戻った際は、(C) kansuu関数で宣言した
(D)hensuuはもう有効ではなくな、値を参照することもなくなります。
    • good
    • 0
この回答へのお礼

ご回答まことにありがとうございました。
 助かります。
お返事が遅れまして申し訳ございませんでした。
 以上の、ご回答を基にして
再度よく読み直し、プログラムの流れを勉強したいと思います。
 今後ともよろしくお願いいたします。

お礼日時:2014/11/19 05:23

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!