Light C | ← → 目次 索引 |
変数 (variable) はデータ値を入れておく「入れ物」です。変数には値を設定したり、そこから値を取得したり、値を変更することができます。
例 | int a, b; | |
a = 123; | // a に 123 を設定する | |
b = a; | // a の値 (123) を取得して、b に設定する | |
b = a + b; | // a + b の値 (123 + 123 = 246) を b に設定する | |
b += 10; | // b の値を 10 増やす (256 になる) |
変数は、使用する前に宣言する必要があります。変数宣言の例をいくつか示します。
変数の宣言は、関数内でも関数外でも可能です。
関数内で宣言する場合は、実行文 (式文や制御文) の後に宣言文を置くこともできます。[C99]
例 | void func( int a ) { | |
a++; | ||
int b; | // 実行文 a++ の後で宣言を行う | |
... |
変数は、関数の中で宣言することも、関数の外で宣言することもできます。変数を宣言した場所と、記憶クラス static によって、その変数のスコープ (有効範囲、つまり変数を使用できる範囲) と、変数の生存期間が次のように決まります。
宣言した場所 | static の有無 | スコープ | 生存期間 |
---|---|---|---|
関数外 | プログラム全体 | プログラム実行中 | |
関数外 | static | ファイル全体 | プログラム実行中 |
関数内 | 関数内 | 関数実行中 | |
関数内 | static | 関数内 | プログラム実行中 |
関数外で宣言した非 static 変数を広域変数 (グローバル変数) と呼び、関数内で宣言した変数を局所変数 (ローカル変数) と呼びます。広域変数は、複数のファイルで共有されます。
関数内のさらにブロック ({...}) 内で変数を宣言すると、変数のスコープはそのブロック内に限定されます。
参照 静的関数
Copyright © Tama Software Ltd, 1999-2012. | ← → 目次 索引 |