首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

求问怎么定义长度为1000000的结构体数组

2013-10-31 
求问如何定义长度为1000000的结构体数组?求问如何定义长度为1000000的结构体数组?struct xxx{..........

求问如何定义长度为1000000的结构体数组?
求问如何定义长度为1000000的结构体数组?
struct xxx
{
.....;
.....;
};

struct xxx a[1000000];
这样的话提示内存栈溢出,求那个malloc申请空间怎么写的?谢过
malloc 1000000数组 内存 栈 struct
[解决办法]
http://baike.baidu.com/link?url=nCMZ_56CMJFvvJdLXH4PtrsEuG3r2Pi_9TVBJgECMiMjVS2Juicpv-y23CmmYrHOufO2vqgfOnBF9zE_gMblR_

你的结构体多大?你的意思是你要在heap上申请?
[解决办法]
struct path *pArray = malloc(10000000*sizeof(struct path))使用malloc申请吧。
[解决办法]

struct path *x=(struct path*)malloc(sizeof(path)*1000000);

x[0].a=250;
x[999999].a=250;

[解决办法]
a=new xxx[1000000];
[解决办法]

好奇楼主的需求啊,

struct path *test=(struct path*)malloc(sizeof(struct path) * 1000000);

[解决办法]
如果真需要这么大的数组,可以先缓存到硬盘上,再分段读取处理。
[解决办法]
Windows ~ 调用 win32 api - CreateFileMapping , OpenFileMapping ...

Linux ~ 调用  mmap ....

开 MemoryMapped file 出来用 

几百MB 都没问题
[解决办法]
用内存映射吧,数据多的话这样不效率~~
[解决办法]
定义成全局数组或者静态数组,存放的位置不一样
[解决办法]
引用:
我直接写struct定义这个结构没问题吧?不用换typedef struct吧?
没问题。。。

热点排行