社区
C语言
帖子详情
超大数组
fluidlight
2004-06-09 05:29:08
程序中想定义3维大数组,如何解决运行内存不足的问题?有什么其他方法定义3维大数组吗?3x。
...全文
394
7
打赏
收藏
超大数组
程序中想定义3维大数组,如何解决运行内存不足的问题?有什么其他方法定义3维大数组吗?3x。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
antijpn
2004-06-11
打赏
举报
回复
奇怪了,就算是不采用静态分配,也不至于只能分配40*40*40的数组吧?VC++ 2003里面编译的话,不用参数修改stack大小可以使用60*60*60的数组,如果使用参数修改一下栈大小的话,可以容纳更大的数组
fluidlight
2004-06-11
打赏
举报
回复
Thank you so much! 我现在用笔记本就能运行几百立方的数组了,that's amazing.:)
neophyte111
2004-06-10
打赏
举报
回复
不知道你是否用了动态申请,如果用了,不应该只有40*40*40的
申请与释放2至3维数组的函数
template<class T>
inline void Intialize2DArray(T **&xxx, long rows, long cols)
{
long i, j;
for (i=0; i<rows; i++)
{
for (j=0; j<cols; j++)
{
xxx[i][j] = T(0);
}
}
}
template<class T>
void Create2DArray(T **&xxx, long rows, long cols)
{
xxx = new T *[rows];
for (long i=0; i<rows; i++)
{
xxx[i]=new T[cols];
}
Intialize2DArray(xxx, rows, cols);
}
//删除2维数组时只需2个参数,不需要传数组的第2维大小
template<class T>
void Delete2DArray(T **&xxx, long rows)
{
for(long i=0; i<rows; i++)
{
delete []xxx[i];
}
delete []xxx;
xxx=0;
}
template<class T>
void Create3DArray(T ***&xxx, long n1, long n2, long n3)
{
xxx = new T **[n1];
for (long i=0; i<n1; i++)
{
Create2DArray(xxx[i], n2, n3);
Intialize2DArray(xxx[i], n2, n3);
}
}
//删除3维数组时只需3个参数,不需要传数组的第3维大小
template<class T>
void Delete3DArray(T ***&xxx, long n1, long n2)
{
for (long i=0; i<n1; i++)
{
Delete2DArray(xxx[i], n2);
}
delete []xxx;
xxx=0;
}
举例:使用3维数组
int n1 = 100;
int n2 = 100;
int n3 = 100;
float ***array_3D;
Create3DArray(array_3D, n1, n2, n3);
...//use the 3d array in form "array_3D[i][j][k]"
Delete3DArray(array_3D, n1, n2);
fluidlight
2004-06-10
打赏
举报
回复
谢谢楼上的回答。我现在的程序只能运行40x40x40,不明白为什么只有这么小。即使我的电脑只有256M内存,也不应该啊。是不是windows对这种DOS程序(我用的vc++)在编译的时候就限制了内存的使用呢?
xumiao0705
2004-06-09
打赏
举报
回复
3维大数组你首先要考虑能否压缩。不能的话只有动态分配空间这种方法。
kaphoon
2004-06-09
打赏
举报
回复
首先考虑能不能不用
3维大数组
实在没办法
考虑动态分配
SCUM
2004-06-09
打赏
举报
回复
动态分配
三重指针
高效数据结构及算法模块源码
举个例子:对
超大
数组
进行排序,如果你用传统的选择排序(O(n^2))对一个
超大
数组
进行排序,你恐怕得等几分钟,而采用二分思想的快速排序(最坏情况O(nlogn),最好情况O(n)),最好情况只需要很短时间。量化一下,...
一个串口数据接收的循环
数组
管理函数库
自己写的一个串口数据接收管理函数库。主要是对一个循环
数组
的...这样可以灵活的用一个
数组
来接收三个数据包或一个
超大
数据包。 函数有20来个,可能需要仔细理解一下机制。我用的很舒服,贴出来看能否让大家利用一下。
STM32CubeMX+TouchGFX+QSPI 工程.zip
该资源对应的博客:https://blog.csdn.net/ningjianwen/article/details/100151158 如何将STM32CubeMX + TouchGFX 工程中生成的图片,字库等
超大
数组
保存到QSPI FLASH (W25Q256)
史上最全JavaScript
数组
去重的十种方法(推荐)
主要介绍了JavaScript
数组
去重的十种方法,利用元素的属性和特性进行不同的去重方法,并实例演示如何测试去重
超大
数组
,具体操作步骤大家可查看下文的详细讲解,感兴趣的小伙伴们可以参考一下。
易语言-高效数据结构及算法模块
举个例子:对
超大
数组
进行排序,如果你用传统的选择排序(O(n^2))对一个
超大
数组
进行排序,你恐怕得等几分钟,而采用二分思想的快速排序(最坏情况O(nlogn),最好情况O(n)),最好情况只需要很短时间。量化一下,...
C语言
69,336
社区成员
243,078
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章