用malloc
#include<stdio.h>
#include <malloc.h>
#include <memory.h>
int main(){
int* value = (int *)malloc(100000*sizeof(int));;
printf("over\n");
return 0;
}
内存太大
c这种写法是在内存中申请一块空间,而且是连续的。int一般是4个字节,如果要申请500000,那大概就是2000000个字节,即大概2mb。一般大内存的机器,比较空闲的情况应该也能分配出来给你。如果机器内存比较小,又比较忙,开机也很久了,也是有可能分不出来的。
你可以想象一下,每次都不停的分配内存,内存被分配的支离破碎。即碎片化了。可能总的空闲看起来很多。但是连续的大空间不一定有。