需求
开一个很大的数组(300万)
❗ 错误示例
#include <stdio.h>int main()
{int size =3000000;int a[size];a[size-1] = 999;printf("%d",a[size-1]);return 0;
}
😋 解决方案
- 局部变量存储在栈空间 (较小,一般为 几兆)
- 全局变量存储在堆空间
把局部数组转换为全局数组即可
#include <stdio.h>const int size =3000000;
int a[size];
int main()
{a[size-1] = 999;printf("%d",a[size-1]);return 0;
}