C++
 Computer >> コンピューター >  >> プログラミング >> C++

C++のグローバル変数とは?定義方法と使い方を実例で解説

グローバル変数とは、すべての関数の外側、通常はプログラムの先頭部分で定義される変数のことです。グローバル変数は、プログラムが実行されている間ずっとその値を保持し続けるという特徴があります。

また、グローバル変数はどの関数からでもアクセスできます。つまり、一度宣言すれば、プログラム内のどこからでも利用できる変数です。これに対して、関数の中で定義されるローカル変数は、その関数内でしか使えないという違いがあります。

サンプルコード

以下は、グローバル変数とローカル変数を使った基本的な例です。グローバル変数「g」を宣言し、main関数内でローカル変数「a」と「b」の合計を代入しています。

#include <iostream>
using namespace std;
// グローバル変数の宣言:
int g;
int main () {
    // ローカル変数の宣言:
    int a, b;
    a = 10;
    b = 20;
    g = a + b;
    cout << g;
    return 0;
}

実行結果

このプログラムを実行すると、次のような出力が得られます。

30

グローバル変数を使用する際の注意点

グローバル変数は便利ですが、どこからでも値を変更できてしまうため、大規模なプログラムでは予期しないバグの原因になることがあります。可読性や保守性を高めるためには、必要最小限にとどめ、可能であれば引数や戻り値を使ってデータを受け渡す設計が推奨されます。

  1. C++の型指定子とは?基本の使い方を初心者向けに解説

    C++の型指定子(Type Specifier)とは? C++のような静的型付け言語では、変数を最初に宣言する際に、その変数がどの種類のデータを保持するのかを必ず指定しなければなりません。 int number = 42; この例における「int」が型指定子です。これは「number」という変数には整数値しか格納できないことを示しています。 動的型付け言語との違い 一方、RubyやJavaScriptなどの動的型付け言語では、型を事前に宣言する必要がありません。単純に変数を宣言するだけで済みます。 var number = 42; このようにC++では、コンパイルの時点で型が確定するため、実行

  2. C++の記憶クラス(ストレージクラス)とは?auto・static・externなどの5種類を解説

    C++プログラミングにおいて、記憶クラス(ストレージクラス)とは、変数や関数のスコープ(可視性)と寿命(ライフタイム)を定義するための指定子です。記憶クラス指定子は、修飾対象となる型の前に記述します。C++プログラムで使用できる記憶クラスには、以下の5種類があります。 auto register static extern mutable auto:自動記憶域期間 auto記憶クラス指定子は、自動記憶域を持つ変数を明示的に宣言するためのものです。ブロック内で宣言された変数のデフォルトはautoであり、自動記憶域を持つ変数xは、xが宣言されたブロックを抜けると破棄されます。 auto指定子は