🌻天国にいけるC++言語入門🌻 進化し続けるオブジェクト指向プログラミング ver3.2307
おさらい 自作関数newmadefunction(int x);が実行されている間は ローカル変数xに格納されている数値データはコンピュータのメモリに格納されていますが実行後は消えてしまうのでした
おさらい 自作関数newmadefunction(int x);が実行されている間は ローカル変数xに格納されている数値データはコンピュータのメモリに格納されていますが実行後は消えてしまうのでした
さて、突然ですが次のプログラムをご覧ください。
いまなら
17時までの30分間に限り
ただいまついている値札よりレジにて全品1500%OFF!!!(*^▽^*)
Super clearanceセール開催中!
それでは
こちらのプログラムをご覧ください。
#include <iostream>
using namespace std;
void newmadefunction(int x)
{
x=x+5;
cout<<x<<"\n";
}
int main(){
int a=5;
a=a+5;
cout << a << "\n";
return 0;
}
ビルド実行結果
10
このプログラムは
aの変数宣言 初期化
int a=5;
のあと
変数aに格納されている数値データ5に
さらに5を足して
変数aに格納されている数値データを10に変更しています。
むずかしかったかな
ソーラー「いや・・・ぜんぜん・・・」
マックス「自作関数は定義してあるが全く使われていないじゃないか」
このプログラムの冒頭では
自作関数の定義
void newmadefunction(int x)
{
x=x+5;
cout<<x<<"\n";
}
が
このプログラムでは使用されないのに
表記してありました
自作関数さん
出番がくるまでおとなし~くじっとまっているのです。
かわいらしいですね。
てんC「それでは!
自作関数 newmadefunction(int x)さ~ん。
出番ですよ~😊」
今度は、自作関数newmadefunction(int x)に登場してもらいましょう。
自作関数newmadefunction(int x)をmain関数内で実行してみます。
int xには5を代入しますね。
そのプログラムは次のようになります
#include <iostream>
using namespace std;
void newmadefunction(int x)
{
x = x + 5;
cout << x << "\n";
}
int main() {
newmadefunction(5);
return 0;
}
ビルド実行結果
10
となります
このように
newmadefunction(5);と表記しただけで
int xに5を格納したことになります
ここが自作関数の便利なところですね。
最初のプログラムのビルド実行結果
👇
#include <iostream>
using namespace std;
void newmadefunction(int x)
{
x=x+5;
cout<<x<<"\n";
}
int main(){
int a=5;
a=a+5;
cout << a << "\n";
return 0;
}
ビルド実行結果
10
と一致しています
最初のプログラムでは
👇のようにaの値が変化し
int a=5;
a=a+5;
より
a=10
自作関数newmadefunction(int x)を用いたプログラムでは
次のようにxの値が変化しています。
int x=5;
x=x+5;
より
x=10
以上 よかったです。
//excellent C++言語より//
solarplexuss
「はい・・・これは何の説明???」
ソーラー「みごとな
参考書だね。excellent C++言語
とってもわかりやすい~」
solarplexuss「大変わかりやすいけど???」
てんC「大変分かりやすいみごとな説明ですね。」
マックス「これで
このエピソードは おしまいのようだな
ふはは 楽勝だったな~」
ソーラー「ふふっ ここでのポイントは
newmadefunction(5)のように
int x=5;と
自作関数newmadefunction(int x)に5を代入したところかな?
main関数内で
int main(){
newmadefunction(5);
return 0;
}
のように記述されているけど
newmadefunction(5);の5は
自作関数の引数として定義された
int xに5を代入したものでしたね
int xは自作関数内で定義されたローカル変数なんだ
そして
自作関数newmadefunction(int x);が実行される間は
つまり
void newmadefunction(int x)
{
x=x+5;
cout << x << "\n";
}
のブロック{}内の命令文
x=x+5;
cout << x << "\n";
が実行されている間は
🌞メモリに付けられた変数名xは格納している値5とともに🌞
🌞コンピュータのメモリに記憶されていますが🌞
自作関数newmadefunction(int x);が実行されたあとは
すなわち
x=x+5;
cout << x << "\n";
が実行された後は
🌞メモリに付けられた変数名xは格納している値5とともに🌞
🌞コンピュータのメモリから消えてしまいます🌞
ちょっといいかえると
自作関数newmadefunctionが実行されている
つまり 自作関数の中身の定義が実行されている間は
ローカル変数xに格納されている数値データは
メモリに付けられた変数名xとともに
コンピュータのメモリに格納されていることになります
solarplexuss「そのあたりは
ローカル変数、 グローバル変数のエピソードでやってきたね」
新規登録で充実の読書を
- マイページ
- 読書の状況から作品を自動で分類して簡単に管理できる
- 小説の未読話数がひと目でわかり前回の続きから読める
- フォローしたユーザーの活動を追える
- 通知
- 小説の更新や作者の新作の情報を受け取れる
- 閲覧履歴
- 以前読んだ小説が一覧で見つけやすい
アカウントをお持ちの方はログイン
ビューワー設定
文字サイズ
背景色
フォント
組み方向
機能をオンにすると、画面の下部をタップする度に自動的にスクロールして読み進められます。
応援すると応援コメントも書けます