『C言語入門編7:関数を理解しよう (全8回) 』
メモ
#03:引数と戻り値を理解しよう
- プロトタイプ宣言
関数の定義は、原則として main 関数の上に書く必要がある。
main 関数の下に関数定義を書きたい場合には、プロトタイプ宣言を記述する必要がある。
#04:スコープを理解しよう
- ローカル変数 (局所変数)
スコープが関数の中に限られている変数は「ローカル変数 (局所変数)」と呼ばれる。関数の中で宣言した変数はローカル変数。
ローカル変数は、その関数の中でだけ使うことができる。他の関数からは直接アクセスできない。 - グローバル変数 (大域変数)
関数の外側で宣言された変数は「グローバル変数 (大域変数)」と呼ばれる。
グローバル変数は、複数の関数から直接アクセスできる。 - グローバル変数を使う上での注意点
・プログラムのどこで値を書き換えているのかがわかりにくくなる
・間違えて値を書き換えてしまう
・グローバル変数と同じ変数名の、ローカル変数を宣言することができ、これが意図しない動作を引き起こす原因になることがある
#06:swap関数をつくろう
- 関数に値を渡す (値渡し)
関数を呼び出すとき、引数に変数を指定すると、値のコピーが渡される。
関数に引数として値を渡す方法は「値渡し (pass by value)」と呼ばれる。- 値渡しでは、引数として渡した変数そのものの値を書き換えることができない。
- 関数にポインタを渡す (ポインタ渡し)
関数に引数としてポインタを渡す方法は、値渡しに対して、「ポインタ渡し (pass by pointer)」と呼ばれることがある。- swap 関数などの変数そのものの値を書き換える関数は、ポインタ渡しによって実現できる。
#07:関数の引数で配列を受け取ろう
- 引数で受け取った配列を書き換えられる理由
- a 変数を渡しただけで配列の要素を書き換えられた理由は、a 変数が「配列の先頭の要素のポインタ」に読み替えられるため。
認定証
学習ステータス
ここでも昇格はなかったな。
※コメント投稿者のブログIDはブログ作成者のみに通知されます