カテゴリ: C++ 更新日: 2026/01/12

C++のグローバル変数とローカル変数の違いを完全解説!初心者でもわかる基本と使い分け

グローバル変数とローカル変数の違い
グローバル変数とローカル変数の違い

先生と生徒の会話形式で理解しよう

生徒

「C++の変数って、どこに書くかで意味が変わるんですか?」

先生

「変わります。特にグローバル変数とローカル変数は、使える範囲が大きく違います。」

生徒

「パソコン初心者でも理解できるように説明してもらえますか?」

先生

「家や部屋に例えながら、順番に説明していきましょう。」

1. 変数とは何かをおさらい

1. 変数とは何かをおさらい
1. 変数とは何かをおさらい

C++における変数とは、数値や文字などのデータを一時的に入れておく箱のような存在です。 プログラムの中で何度も使う情報を、名前を付けて保存しておくことで、計算や表示ができるようになります。

例えば、年齢や点数のように変わる可能性のある情報は、変数として扱います。 この変数には、使える範囲があり、その違いによってグローバル変数とローカル変数に分かれます。

2. ローカル変数の特徴

2. ローカル変数の特徴
2. ローカル変数の特徴

ローカル変数とは、特定の場所の中だけで使える変数のことです。 主に関数や中かっこで囲まれたブロックの中で作られます。

例えるなら、ローカル変数は自分の部屋に置いてある私物です。 その部屋の中では自由に使えますが、部屋を出ると使えなくなります。


#include <iostream>

int main() {
    int score = 80;
    std::cout << score << std::endl;
    return 0;
}

80

この例では、scoreはmain関数の中で作られたローカル変数です。 main関数の中では使えますが、外からは見えません。

3. グローバル変数の特徴

3. グローバル変数の特徴
3. グローバル変数の特徴

グローバル変数とは、プログラム全体から使える変数のことです。 関数の外、プログラムの一番上の方に書かれます。

家全体に置いてある共用の物のようなイメージです。 どの部屋からでも使えるので、とても便利に見えます。


#include <iostream>

int count = 0;

int main() {
    count++;
    std::cout << count << std::endl;
    return 0;
}

1

このcountはグローバル変数なので、どの関数からでも使うことができます。 プログラムが始まってから終わるまで、ずっと存在し続けます。

4. 同じ名前の変数がある場合

4. 同じ名前の変数がある場合
4. 同じ名前の変数がある場合

グローバル変数とローカル変数は、同じ名前を付けることもできます。 ただし、その場合はローカル変数が優先されます。


#include <iostream>

int value = 10;

int main() {
    int value = 5;
    std::cout << value << std::endl;
    return 0;
}

5

この例では、main関数の中のvalueが使われます。 グローバル変数のvalueは一時的に見えなくなります。

この仕組みを知らないと、思った通りに動かない原因になります。

5. グローバル変数とローカル変数の使い分け

5. グローバル変数とローカル変数の使い分け
5. グローバル変数とローカル変数の使い分け

初心者のうちは、基本的にローカル変数を使うことを意識すると良いです。 必要な場所だけで使うことで、プログラムが分かりやすくなります。

グローバル変数は便利ですが、どこからでも変更できてしまうため、 プログラムが大きくなると混乱の原因になります。

まずは、変数には使える範囲があること、 グローバル変数とローカル変数では役割が違うことを理解することが大切です。 この基本を押さえることで、C++の変数とデータ型の理解が一段深まります。

カテゴリの一覧へ
新着記事
New1
C++
C++のグローバル変数とローカル変数の違いを完全解説!初心者でもわかる基本と使い分け
New2
Rust
Rustプロジェクト管理とビルドの完全ガイド!Cargoの使い方とCargo.tomlの設定を初心者向けに徹底解説
New3
C言語
C言語のsizeof演算子で型サイズを調べよう!初心者でもわかる変数とデータ型の仕組み
New4
C++
C++の変数のスコープと有効範囲を完全解説!初心者でもわかる基本と考え方
人気記事
No.1
Java&Spring記事人気No1
C言語
C言語をオンラインで実行できる便利なコンパイラサービスまとめ【初心者向け】
No.2
Java&Spring記事人気No2
C言語
C言語の関数定義と呼び出しを完全ガイド!初心者でも分かる基本の書き方
No.3
Java&Spring記事人気No3
C言語
C言語の配列と文字列の基本を完全ガイド!初心者でもわかる宣言と使い方
No.4
Java&Spring記事人気No4
C++
C++の主要な実装をわかりやすく解説!GCC・Clang・MSVCの違いと特徴
No.5
Java&Spring記事人気No5
C++
CMakeの基本構文とCMakeLists.txtを初心者向けに解説
No.6
Java&Spring記事人気No6
C言語
Visual Studio CodeでC言語を実行する方法【拡張機能の設定と実行手順】
No.7
Java&Spring記事人気No7
C言語
C言語の開発環境をWindowsに構築する方法【Visual Studio編】
No.8
Java&Spring記事人気No8
C言語
C言語の列挙型(enum)の使い方を完全ガイド!初心者でもわかる基本操作