🌞自作関数15 自作関数void f(int x)のint xにmain関数で定義された変数aを代入しても変数aはmain関数のローカル変数のままです。

ソーラー 「ねえ、てんC 次のプログラムをみてみよう」


#include <iostream>


using namespace std;

// 👇このint x

void f(int x){


cout <<x << "をとりこみました。\n";


}


int main(){


f(1);

f(1);

f(1);


return 0;

}


ビルド実行結果


1をとりこみました。

1をとりこみました。

1をとりこみました。



ソーラー「


この自作関数内のint xはどの関数の


ローカル変数になるのかな?


自作関数fのローカル変数になるのかな?


それとも


main関数のローカル変数になるのかな?


main関数内で


f(1);と数値データ1を代入してるよね


それともグローバル変数なのかな?



👇このint xは・・・」


#include <iostream>


using namespace std;

// 👇このint x

void f(int x){


cout <<x << "をとりこみました。\n";


}


int main(){


f(1);

f(1);

f(1);


return 0;

}


プログラムの実行結果


1をとりこみました。

1をとりこみました。

1をとりこみました。


てんC 「この場合のint xは


main関数内でxの変数宣言、定義されておらず


自作関数void f(int x)の()内でxの変数宣言、定義がされているので


この場合


xは


自作関数fのローカル変数になります


その自作関数fの引数となっているローカル変数であるint xに1が代入されるという形で


main関数内でf(1);が実行されています」


ソーラー「では 次のプログラムをみてみようっかな?」


#include <iostream>


using namespace std;


void f(int x){


cout <<x << "をとりこみました。\n";


}


int main(){


int a=10;

f(a);

f(a);

f(a);


return 0;

}


ビルド実行結果


10をとりこみました。

10をとりこみました。

10をとりこみました。



ソーラー「


f(a);

f(a);

f(a);


ってなってるよね。


この場合


変数a、変数xはどの関数のローカル変数になるのかな?」


てんC「そうですね。


この場合


変数aはmain関数内で変数宣言されているので


main関数のローカル変数です


変数xは自作関数fの定義

👇

void f(int x){


cout <<x << "をとりこみました。\n";


}

👆

のvoid f(int x)の()内で変数宣言されているので


自作関数fのローカル変数です


そして


int xにaが代入される形で


f(a);と記述されても


変数aは自作関数fのローカル変数でなく


main関数のローカル変数のままです


f(a);では


int xに


変数aを代入して数値データ10を


変数xにわたしているのですが


変数aが自作関数fのローカル変数となったわけではありません


どうですか? ソーラーさん」


ソーラー 「ローカル変数同士は


お互い 別の関数の変数で


異なる関数内で変数宣言されたローカル変数は


別の関数内では使用することができなかったね


このように


main関数内で変数宣言された変数aを


自作関数fで変数宣言された変数xに代入して


変数aが格納している数値データをわたすことができるんだね」

  • Twitterで共有
  • Facebookで共有
  • はてなブックマークでブックマーク

作者を応援しよう!

ハートをクリックで、簡単に応援の気持ちを伝えられます。(ログインが必要です)

応援したユーザー

応援すると応援コメントも書けます

新規登録で充実の読書を

マイページ
読書の状況から作品を自動で分類して簡単に管理できる
小説の未読話数がひと目でわかり前回の続きから読める
フォローしたユーザーの活動を追える
通知
小説の更新や作者の新作の情報を受け取れる
閲覧履歴
以前読んだ小説が一覧で見つけやすい
新規ユーザー登録無料

アカウントをお持ちの方はログイン

カクヨムで可能な読書体験をくわしく知る