gpt4 book ai didi

c - 打印指针值时出现段错误

转载 作者:行者123 更新时间:2023-11-30 14:24:09 25 4
gpt4 key购买 nike

当我尝试打印 v 的值时,以下程序崩溃。我试图理解为什么。有什么建议吗?

#include <stdio.h>

int main() {

int v[5000000];
printf("\n\nv = %p", v);
return 0;
}

编辑:如果我分配 500000 个或更少的元素,而不是分配 5000000 个元素,则程序不会出现段错误。

编辑(2):增加堆栈大小解决了问题。在Linux上,我在阅读stephane-rouberol的答案后增加了堆栈大小(使用 ulimit -s <some_large_number> )。

最佳答案

恭喜,您出现了堆栈溢出:)

找到一种方法来增加堆栈的大小或动态分配数组:

int* v = malloc( 5000000 * sizeof *v);

/* do something */

free( v );

关于c - 打印指针值时出现段错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12138366/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com