Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
次の行を実行した場合:
void dummy () { int n; scanf ("%d", &n); int A[n]; }
配列 A はスタックまたはヒープに割り当てられますか?
これは C または C++ の質問でしょうか?
あなたの配列宣言は、C++ では正式に違法であることに注意してください。配列宣言で配列サイズを指定するために非定数式を使用することは不正です。
C++ コンパイラがこの宣言をサポートしていると仮定すると (この機能は C 言語から借用)、Aはローカル配列オブジェクトです。これは、リンケージなしで宣言された他のローカル オブジェクトと同じ方法で割り当てられます。つまり、自動保存期間があります (用語では「スタック上」)。
A