の値を出力しようとすると、次のプログラムがクラッシュしますv
。その理由を理解しようとしています。助言がありますか?
#include <stdio.h>
int main() {
int v[5000000];
printf("\n\nv = %p", v);
return 0;
}
EDIT : 5000000 個の要素を割り当てる代わりに、500000 以下を割り当てると、プログラムは segfault しません。
EDIT(2) : スタックサイズを増やすと問題が解決しました。Linux では、stephane-rouberol の回答を読んだ後 (を使用してulimit -s <some_large_number>
)、スタック サイズを増やします。