1、定义struct AA { char a[1000000]; }aa[100000] 肯定是不可取的。
学过汇编语言就知道,这样即便编译可以通过,也会因为程序太庞大而不 能执行。
2、解决方法:
(1)用动态分配内存的方法,需要多少,申请多少
如:char *p = malloc( 10000 ) ...
如果不够还可以追加。如果内存不够的话,Windows系统会自动用虚拟内存的。
(2)若程序真的有这么大的数据量,那就采用外部文件,比如:数据库。
不知道你为何要定义如此大的变量,在程序上是不可取的.
建议你使用外部文件的方式处理你的文本数据.
就是将数据存储在外部文件中,需要处理时,通过读取文件操作一点一点处理,效率高,占用内存少.从新设计程序吧,那样的结构设计出来是没有意义的.
应该在很多机器上都不能实现.因为char[1034000]需要调用 1034000个字节空间,这足足有1G啊!!!