質問: スタックメモリについて プログラムの起動時に、スタックメモリは初期化(nullに設定)されるのでしょうか。 push・popで使用したらデータは残りますが、未使用の場合、初期化されているかの質問です。 グローバル変数の領域はクリアされると思われますが、スタックは不明です。 クリアされないときは、ほかのプログラムで使用されたゴミデータが 残っているのでしょうか 目的は、スタック領域でメモリ障害の場合動作が変わってしまうのか、確認したいためです。 すいませんが、よろしくお願いします。
回答: 言語が不明なので c と想定する. 「スタックメモリ」なるものは規格にはありませんので, 「スタックメモリが初期化されるかどうか」ももちろん決まっていません. 「スタックメモリ」を使う多くの処理系で初期化子を指定しない場合は初期化しないと思いますが, その辺は上に書いたように規格で決まっていることではないので処理系に聞いてください. あと, 「初期化」と「null に設定」とは違います. もちろん, ポインタでないものを「null に設定する」というのはプログラムとして間違ってます.