gpt4 book ai didi

c - 为什么在编译时声明时数组大小受到限制?

转载 作者:太空狗 更新时间:2023-10-29 17:00:48 24 4
gpt4 key购买 nike

比如我可以做

int *arr;
arr = (int *)malloc(sizeof(int) * 1048575);

但是如果程序不崩溃我就不能这样做:

int arr[1048575];

为什么会这样?

最佳答案

假设 arr 是一个局部变量,将其声明为数组使用来自(相对有限的)堆栈的内存,而 malloc() 使用来自(相对无限的)堆栈的内存) 堆。

关于c - 为什么在编译时声明时数组大小受到限制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6515326/

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