C++セミナー(初級)変数とスコープ

HOME->講習会->プログラミングセミナー->C++セミナー(初級)


C++では,変数をどこでも宣言することが可能なため,どの範囲で変数が使えるのかということを考えなくてはなりません.

目次

グローバル変数とローカル変数
ブロックとスコープ

グローバル変数とローカル変数

C++では,グローバル変数とローカル変数と呼ばれるものがあります.グローバル変数はすべての関数で読み書きが可能な変数のことです.ローカル変数は,各関数の中でしか読み書きのすることができない変数のことを言います.今まで扱ってきた変数はすべてローカル変数となります.グローバル変数は,以下のようにして宣言します.

#include <iostream>
int global;
int func()
{
    global = 10;
    return 0;
}
int main()
{
    global = 1;
}

関数の一番外側で宣言を記述することでグローバル変数となります.グローバル変数にすると,上記のように,func関数,main関数のどちらでも読み書きが可能となります.しかし,グローバル変数は,すべての関数でアクセスできるというメリットがデメリットになる場合があります.それは,誤ってデータを書き換えてしまう可能性が高まります.そのため,グローバル変数は,極力使用しないようにしましょう.

ブロックとスコープ

関数やif文,for文などで「{ }」で囲まれた部分にプログラムを記述してきました.この「{ }」のプログラムの塊としてブロックといいます.ブロック内で宣言した変数はブロック内でしか扱うことができません.そのため,変数は扱える範囲が決まっています.この扱える範囲のことをスコープといいます.

変数の扱える範囲は重要なので,しっかりと覚えておきましょう.