C语言怎样开一个大小为1000000的一维数组,直接弄好像运行不了。
6个回答
展开全部
你直接放在main里要占用栈空间的,栈空间只有几十k,放不下。
你可以设为全局变量,或者用malloc(),malloc()可以到4g大小
你可以设为全局变量,或者用malloc(),malloc()可以到4g大小
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
srand(time(NULL));
一个时间种子因为要随机,时间一直在改变的
tmp = rand();
tmp %= 1000000;
取模 就得到随机数了
.
希望能够帮助你 ^_^ 也希望能够选为最佳答案!
一个时间种子因为要随机,时间一直在改变的
tmp = rand();
tmp %= 1000000;
取模 就得到随机数了
.
希望能够帮助你 ^_^ 也希望能够选为最佳答案!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<stdio.h>
#include<iostream.h>
#include<stdlib.h>
void main()
{
int *test;
test=(int *)malloc(sizeof(int)*1000000);
for(long a=0;a<1000000;a++)
{
test[a]=a;
cout<<test[a];
}
}
输出0-999999..运行时间有点长,只是个例子。
#include<iostream.h>
#include<stdlib.h>
void main()
{
int *test;
test=(int *)malloc(sizeof(int)*1000000);
for(long a=0;a<1000000;a++)
{
test[a]=a;
cout<<test[a];
}
}
输出0-999999..运行时间有点长,只是个例子。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用动太分配
char* p = new char[1000000];
动态分配是在堆上分,堆是很大的。如果你直接定义是在栈上分配空间。栈的空间有限。
char* p = new char[1000000];
动态分配是在堆上分,堆是很大的。如果你直接定义是在栈上分配空间。栈的空间有限。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询