https://people.eecs.ku.edu/~jrmiller/Courses/JavaToC++/StackAllocatedArrays.html
在这里说,即使在编译时不知道数组的大小,也可以使用g ++进行堆栈分配...这是怎么工作的?用户程序如何请求内存将数据首先放在堆栈上?
我已经在使用g ++的Arch计算机上进行了尝试,并且可以为其分配内存。
这是我跑的:
void someFunc(int k, int j){
int h[k];
int l[j];
}
您将两个数组像这样放置在堆栈上:
FP -----
|var1| some variables
|var2|
|[arr1]| some pre-initialized arrays - not sure how this would be implemented w/o pointers and hence use of heap
|[arr2]|
SP --------
我将如何增加数组的大小并仍然获得堆栈的好处?