始めましてyskeyです。最近プログラミングを始めたひよっこなのでたくさんわからないことがあり苦戦しています。このサイトにはとてもお世話になっております。
そこで質問なんですが・・・
龍神録プログラミングの館である、「GV.h」というヘッダーファイルで宣言されるint型変数は初期化しなくても値が0になるんですがこれはなぜなんでしょうか?
GV.hで宣言される変数
Re:GV.hで宣言される変数
GV.hを読んでいないので異なるかもしれませんが、非常にまとまった文章が検索で見つかりました。
以下は引用文です。
ローカルの初期化はちょっと特殊で、
int c[TMAX]={1};
だと、先頭が1で残りがゼロになりますが、
int c[TMAX];
だと、一切初期化されず、不定の値になります。
一方、グローバル変数などは、
int a[TMAX];
static int b[TMAX];
static int d[TMAX];
と、初期化要素を一切書かなくても、ゼロで初期化されることが保証されています。
http://oshiete1.goo.ne.jp/qa4295542.html
以下は引用文です。
ローカルの初期化はちょっと特殊で、
int c[TMAX]={1};
だと、先頭が1で残りがゼロになりますが、
int c[TMAX];
だと、一切初期化されず、不定の値になります。
一方、グローバル変数などは、
int a[TMAX];
static int b[TMAX];
static int d[TMAX];
と、初期化要素を一切書かなくても、ゼロで初期化されることが保証されています。
http://oshiete1.goo.ne.jp/qa4295542.html