ひげぽんに対抗してOSつくるぞ
■ このスレッドは過去ログ倉庫に格納されています
0215ブー ◆7ioRDihJDw
NGNG配列は、オーバーしても何事もなかったように動くんですね。
私が最初に読んでいた本には、
int suuti[3]
と宣言すると、suuti[3]はありません。と書かれていたので、
suuti[3]を使うには、宣言で、
int suuti[4]
と宣言しないといけないものと思っていました。
確かに文法的にはきちんと宣言しないといけないのだけど、
宣言していないからといって、アクセスできないわけではないのですね。
で、値の代入や、初期化をせずにそのまま printfすると、
宣言のときにメモリ上に確保された領域に、もともと入っていた数値を
表示しているんですよね。だから見覚えのない数値がってことかな。
ところで、
int suuti[2]
と宣言すれば、メモリ上には、領域が続けて確保されると思いますが、
あとで追加した場合、これはやっぱりメモリ上の別のところに確保されるのでしょうか?
■ このスレッドは過去ログ倉庫に格納されています