配列の中身

[戻る]
超初心者 2002/12/17(火) 09:36:41
はじめまして
C言語超初心者です。
C言語で
配列を宣言し、中身になにも入れてない状態ではNULLがはいっているとおもっていたのですが
違うようなのです。
なにがはいっているのですか?
このような処理をしたいと思っています。
a[3];
if(a[0] == '\0'){
   ・・・・・・
   ・・・・・
}
また
if(a[0] == NULL){
   ・・・・・・
   ・・・・・
}
としてみましたがうまくいきませんでした。

環境はwindowsNT4.0,VC++6.0です。
教えてくださいお願いします。

PATIO 2002/12/17(火) 09:51:31
まず、ハンドルネームはちゃんと個人を識別できるような物にした方が良いです。
「超初心者」とか「初心者」といったハンドルは、良い印象を与えません。

内容的には、入門書を読んだ方がいい内容だと思います。
手元に入門書がないのでしたら少なくとも一冊は購入されることをお勧めします。
Web上の解説ページ等も参考になるでしょう。
最近は初心者用に講座を開いているHPも結構ありますしね。

さて、ぱっと見た感じではローカル変数として配列を定義しているみたいですね。
ローカル変数とグローバル変数では宣言した直後の状態に違いがあります。
この辺の話については入門書にもきちんと書いてあるはずなのでご自分で確認して
見てください。

サボコブ 2002/12/17(火) 10:02:22
すみません 名前変更させていただきまいた。
超初心者=サボコブ
でよろしくお願いします。

ローカル変数とグローバル変数では使用範囲以外にも違いがあるのですね。
ありがとうございました。
調べてみます。

サボコブ 2002/12/17(火) 11:34:13
[[解決]]
解決しました。
初期化としてNULLをいれてうまくいきました。
char a[10];
memset(a, 0x00, sizeof(a));
としました。
ありがとうございました。

古いスレッドには追加発言できません。