変数の初期化

変数を宣言するときに、ついでに初期化することができる。一般的な形式は次の通り。

型 変数名 = 値;

グローバル変数の初期化に使えるのは定数だけ、ローカル変数の初期化には定数、変数、関数呼び出し(戻り値)が使える。
グローバル変数は最初に1回だけ初期化され、ローカル変数は関数が呼び出されるたびに初期化される。
明示的に初期化されないグローバル変数は 0 に設定されるけど、ローカル変数の場合は値が不定になる。

変数をまとめて宣言するとき、初期化する変数としない変数を混ぜることができる。

int min = 0, count, max = 100;

次のプログラムでは、main 関数の中のローカル変数 y をグローバル変数 x で、ローカル変数 z を関数の戻り値で初期化している。

#include

int x = 10; /* global */

int myfunc(int i);

int main(void)
{
    int y = x; /* initialize with global variable */

    int z = myfunc(y); /* initialize with function */

    printf("%d %d\n", y, z);

    return 0;
}

int myfunc(int i)
{
    return i / 2;
}
takatoh@nightschool $ ./sample_4_4
10 5

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください