在 c 中,当你声明一个像 int buffans[46];
这样的数组时,它是在内存的哪一部分创建的?
我问的原因是因为当我到达这部分代码时我的 mcu 似乎挂起,但是当我使用较小的数组 int buffans[26];
时它工作正常。
我想知道我是否内存不足?
void getRes(int length){
int i;
int buff[46];
for (i = 0; i < length; i++)
{
buff[i] = getch(UART_7));
}
buff[i] = 0;
TI_PRINTF("\nANS ");
for( i = 0; i < length; i++)
{
TI_PRINTF("[%x]", buff[i]);
}
TI_PRINTF("\n");
}
最佳答案
在发布的代码中,数组是在堆栈上创建的。
关于c - c中数组分配的内存的哪一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35537415/