数组初始化时,如果数组大小较大,则需要将其定义在主函数外,否则会使程序异常退出(或者程序运行过慢)
原因:函数内部申请的局部变量来自系统栈,允许申请的空间较小;而函数外部申请的全局变量来自静态存储区,允许申请的空间较大
#include<stdio.h>
int a[1000000];//在函数内部申请空间时,运行时间明显较长
int main()
{
for(int i = 0; i < 1000000; i++)
{
a[i] = i;
}
return 0;
}
数组初始化时,如果数组大小较大,则需要将其定义在主函数外,否则会使程序异常退出(或者程序运行过慢)
原因:函数内部申请的局部变量来自系统栈,允许申请的空间较小;而函数外部申请的全局变量来自静态存储区,允许申请的空间较大
#include<stdio.h>
int a[1000000];//在函数内部申请空间时,运行时间明显较长
int main()
{
for(int i = 0; i < 1000000; i++)
{
a[i] = i;
}
return 0;
}