変数には、その変数が使用できる範囲が決まっている。プログラムコードの中で、{ }で囲まれた範囲をブロックといい、変数が使用できる範囲は、その変数が宣言されたブロックの中に限られる。
このような変数が使用できる範囲をスコープという。
これまで、関数の中で宣言した変数、または、引数の受取りのために使用する変数はローカル変数という。
これに対し、プログラム全体で使用できるグローバル変数がある。
今回は、このグローバル変数を使用するプログラムをご紹介しよう。
なお、本プログラムは、Windows 11 Home(23H2)上で、 Visual Studio Code(1.91.1)を使用して作成し、gcc (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0でコンパイルしている。
//グローバル変数を使用する
#include <stdio.h>
int a = 10;
void func(void)
{
a++;
}
int main(void)
{
func();
printf("%d\n",a);
return 0;
}
実行結果
11
5行目で変数aの宣言をして、10で初期化している。
この変数はグローバル変数であり、関数の外側で宣言し、どの関数の中からも自由に使用できる。
func関数の中で値を1増やし、main関数n中で値を出力している。
(参考)「C言語 新版 ゼロからはじめるプログラミング」 三谷 純 (著) 翔泳社
コメント