C语言动态数组的问题,malloc!

来源:百度知道 编辑:UC知道 时间:2024/05/26 19:43:03
我要读取一个名为10.bin的文件,大小为6332200*4个字节。里边存储的数据为long型,直接用long a[6332200]存储不行,因为是用c语言,不支持这么大的数组,所以想到用动态数组。long *a=(long*)malloc(size of(long))*6322000;a是指针数组,a怎么用呢?我试了一下,a[10000000]都是有数的,应该只能到a[6332200]啊!

用链表吧,一个节点存储一段数据,最后整个链表即为整个数据的值

你先尝试把数组开到main的外面,不过说实话,你开那么大数组做什么……

动态分配的数组与其它静态定义的数组使用方式没什么区别,下标都是从0至数组的长度减1,即a[0] - a[6332199],a[6332200]这样的形式会导致数组访问越界,程序运行出错。

开这么大的数组?考虑用文件或数据库?