[H8-ML(4635)] Re:H8/3052で浮動小数点演算がうまくできず困っています。
From: Sawaguchi Yuji <issho@xxxxxxxxxxxxxxxxxx>
Date: 2004年04月08日(木)22時44分02秒
澤口@一升金です。

Kazutaka さんの<20040408102753.22556@xxxxxxxxxxxxxx>から
>自動変数の初期値は「不定」と認識していたのですが、ANSIではゼロなんでし
>ょか。実は真面目にANSIもK&Rも読んでないので、まったくもって自信ナシな
>んですが....。
わたしもうろ覚えなのですが、C言語では main() 内で宣言された
ローカル変数は デフォルトでは auto クラスではなく、 static 
クラスらしいです。
ですから、宣言時に初期化もできるし、初期代入がなければ 0 で
クリアされているはず。
明示的にクラス指定子 auto をつけてやれば不定になるのかも。

わたしの勝手な思いつきによれば、昔はスタック領域を変数として
アクセスできないか、アクセスが非常にやりづらい CPU があり、
(だけど、ローカルスコープの変数は使いたい)
便宜のために決まったんじゃないかと。
例えば8051や6502なんかはスタックポインタが8bit 幅しかありま
せんし、スタックポインタの無い CPU というものが昔はありました。
↓
http://www.st.rim.or.jp/~nkomatsu/texasinstruments/TMS9900.html

LSI時代に入ってさえこうですから、ましてや、C言語が作成された
当時のミニコン全盛期では。

スレッド概略
[4619(R)](起点)
 └[4628(U)]
   └[表示中]
     └[4637(1)]


投稿順に移動
[←前の記事へ(P)]
[→次の記事へ(N)]


リスト表示へ
[このスレッド(T)]
[本記事の前後(L)]