增大数组下标
我想定义一个312500这么大的数组,但是在VC中却不能通过,不知怎么样才能增大数组下标呢?
这种想法可不可行呢?
VC允许你开辟很大的数组。TC是老产品,囿于DOS
传统内存限制,数组所占空间超过640KB通常是不可
能的。下面给楼主提供一个用巨型数组的例子。
/*-----------------------*
用筛法产生1亿以内的素数表
(VC++6.0及128MB以上内存)
*-----------------------*/
#include<stdio.h>
#include<stdlib.h>
#define NMAX 100000000
#define SQRN 10000
main()
{
static char a[NMAX];//static不能省略
unsigned long k,i,total=0;//统计素数
for(k=2;k<=SQRN;k++)if(!a[k])
for(i=2*k;i<NMAX;i+=k)
a[i]=1;//标上1表示不是素数
for(i=2;i<NMAX;i++)if(!a[i])
{ printf("%-9ld",i);
if(++total%8==0)
printf("\n");
}
printf("\n%ld\n",total);
}