注册 登录
编程论坛 C++教室

关于三级或四级数组内存溢出问题(strTemp[200][200][200])

itolyid 发布于 2010-02-23 14:07, 498 次点击
如题目所示数组strTemp[200];strTemp1[200][200];strTemp2[200][200][200];

在VC编程中用到树形结构CTreeCtrl,三级。每级从数据库中读取数据;
第一级时读取设备到strTemp[i];
第二级时读取设备的部件到strTemp1[i][j],并在树型结构中显示出来;
第三级时读取设备部件下的零件到strTemp2[i][j][k],并在第二级树结构中显示出来;

我在业余编程中遇到此要求定义解释如下:
1、一公司有若干台设备,有可能上百台,此定义在200台以内;
2、每台设备有很多部件组成,如电机、泵等在200以内;
3、每台电机由很多零件,如螺栓、机壳等在200种以内;反正此数组200X200X200X4字节=32M字节,远超过栈溢出问题。

使用指针又如何指向及指针移位问题,菜鸟一个,请高手给指条明路,示例。
请问如何解决;
3 回复
#2
cnfarer2010-02-23 15:36
这样的数据,首选当然是数据库。

1.其实你的所谓200台、种等,有很多都是重复的,所以可以大大减少存储数量的。
2.也可以通过文件作为缓存来处理,每次只处理一定数量的数据,需要时,再存取!
#3
itolyid2010-02-24 16:20
谢谢你的回复!
你说的台、种类是有重复,只有使用数组来使它们关联啊。
我是树型结构,启动对话框时,各级都要读取并显示出来啊。
文件作为缓存我不会操作。

1、一大公司设备数量上百台这是有可能的;(按200台计)
2、如吸尘系统下面部件分类可达60-100种是有可能的(按用户分类,我初步分了50来种,部分行业更多)
3、如螺栓的种类下的零件(其实细分有近30种)。

如此也有200X100X50X4=4M

只有本站会员才能查看附件,请 登录

#4
cnfarer2010-02-24 16:50

知道你所指,还是那句话,用数据库或存储引擎是非常方便的!(文件存储可能稍复杂)
1