GV.hで宣言される変数

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
yskey

GV.hで宣言される変数

#1

投稿記事 by yskey » 16年前

始めましてyskeyです。最近プログラミングを始めたひよっこなのでたくさんわからないことがあり苦戦しています。このサイトにはとてもお世話になっております。
そこで質問なんですが・・・
龍神録プログラミングの館である、「GV.h」というヘッダーファイルで宣言されるint型変数は初期化しなくても値が0になるんですがこれはなぜなんでしょうか?

ランド

Re:GV.hで宣言される変数

#2

投稿記事 by ランド » 16年前

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

yskey

Re:GV.hで宣言される変数

#3

投稿記事 by yskey » 16年前

>>ランドさん
ご回答ありがとございます。
グローバルで宣言するとゼロになるんですね。

閉鎖

“C言語何でも質問掲示板” へ戻る