次のプログラムを実行してみよ。ローカル変数、グローバル変数、自動変数、静的変化に注目せよ。
#include<iostream> using namespace std; void counter(); /* プロトタイプ宣言 */ void global; /* グローバル変数 */ /* main 関数 */ int main(){ int i; int local; /* main()関数内の初期化 */ local = global = 0; /* 変数の初期化 */ for(i=0;i<10;++i){ ++local; ++global; /* グローバル変数を扱う */ cout<<"\nlocal="<<local<<"\nglobal="<<global<<"\n"; counter(); /* 関数呼び出し */ } return 0; } /* カウンタ関数 */ void counter(){ int sub = 0; /* counter()関数内のローカル変数 */ static int stat = 0; /* counter()関数内スタティック変数 */ ++sub; ++stat; /* スタティック変数を扱う */ ++global; /* ここでもグローバル変数を扱う */ cout << "auto = "<< sub << "\nstatic = " << stat << "\n"; }
コメントをかく