本記事では、変数の種類や関数に値を渡す方法について整理します。
本記事の目的・学習目標
本記事の学習目標は次の3点です。
- 変数の種類(ローカル / グローバル)を理解する
- スコープの考え方を理解する
- 値渡しとアドレス渡しの違いを理解する
関数間での関数での変数の扱い方を理解することが目標になります。
ローカル変数・グローバル変数
変数には、使用できる範囲によって2つの種類があります。
変数を関数内だけで使用できるローカル変数とすべての関数で使用できるグローバル変数です。
ローカル変数
関数の中で定義された変数です。

この a は、この関数の中でしか使用できません。
グローバル変数
関数の外で定義された変数です。

どの関数からでも使用できます。
スコープ
スコープとは、変数が使用できる範囲のことです。
- ローカル変数 → 定義した関数の中だけ
- グローバル変数 → プログラム全体
同じ名前の変数でも、スコープが違えば別のものとして扱われます。
値渡し ・アドレス渡し
関数に値を渡す方法には2つあります。
関数に値そのものを渡す方法を値渡しといい、変数のアドレスを渡す方法をアドレス渡しといいます。
値渡し
値そのものを渡します。

元の変数は変わりません。
アドレス渡し
変数の場所(アドレス)を渡します。

呼び出し元の変数が変更されます。
まとめ
変数とデータ型は、プログラムの動きを理解するための基本です。
- 変数には使用できる範囲がある
- 値と場所は別のものとして扱う
これらを整理して理解することで、プログラムの動作を正しく読み取れるようになります。
本記事で登場した用語
本シリーズでは、記事で登場する専門用語を補助知識カテゴリの「④-4 用語辞典」 にまとめています。
① ローカル変数
関数の中でのみ使用できる変数
② グローバル変数
プログラム全体で使用できる変数
③ スコープ
変数が使用できる範囲
④ 値渡し
値そのものを関数に渡す方法
⑤ アドレス渡し
変数の場所を関数に渡す方法
関連記事
次の記事は 用語辞典 参考記事 となります。
▶ 次の記事
C言語入門:④-4 用語辞典【補助知識】
◀ 前回の記事
C言語入門:④-2 C言語の基本的な型(まとめ)【補助知識】
◆同じカテゴリの記事一覧(概要ページ)
C言語入門シリーズ:④-0 補助知識【概要】
◆シリーズの記事一覧
C言語入門シリーズ:プログラムの基本構造【記事一覧】

[…] C言語入門:④-3 変数とデータ型の整理【補助知識】 […]
[…] C言語入門:④-3 変数とデータ型の整理【補助知識】 […]