当我们在C中声明一个数组时...数组基本上是一个存储有该数组基址的指针。
例如:
int *x=malloc(5);
为堆中的数组'x'提供内存
现在,我的问题是......将为这种类型的数组声明分配内存
int x1[5];
假设'x'和'x1'都在函数中声明。
'x1'在内存中的位置。 它是堆栈吗?还是在堆?
答案 0 :(得分:0)
我相信int x1[5];
会进入筹码。
答案 1 :(得分:-1)
如果int x1[5];
未在任何函数中定义,则数组x1位于程序的bss段上,变量x1是全局数组。
如果int x1[5];
在任何函数中定义,则在执行此函数期间,数组x1位于程序的堆栈中。