問題タブ [stackunderflow]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - スタック オーバーフロー/アンダーフローが実行時エラーをトリガーしないのはなぜですか?
このコード スニペットを使用します。
コンパイラは Linux x86 用の GCC です。実行時エラーなしで正常に動作します。また、このコードを Valgrind でテストしましたが、メモリ エラーも発生しません。
私の理解では、ヒープとスタックは同じ種類のメモリです。唯一の違いは、それらが反対方向に成長することです。
だから私の質問は:
スタック オーバーフロー/アンダーフローでは発生しないのに、ヒープ オーバーフロー/アンダーフローによってラムタイム エラーが発生するのはなぜですか?
なぜ C 言語設計者は、未定義の動作のままにする以外に、ヒープと同じようにこれを考慮に入れなかったのですか?