VC++6.0中二维数组存储空间的分配与释放

 时间:2024-10-13 03:28:21

用外狒芙梨VC++6.0编写程序,经常用到二维数组,所以我们有必要学会二维数组存储空间的分配与释放,尤其是在不确定分配个数的时候,虽然网上有相关的介绍,但网上鹚兢尖睁的方法有些混乱,所以我就以我对VC++6.0使用的经验来介绍一下二维数组存储空间的分配与释放。

本经验选取int数据类型为例。

当知道二维数组元素的个数,即知道要建立几行几列的二维数组的情况较为简单,例如建立一个3行4列的二维数组就可以用如下代码。

inta[3][4];

使用这种方法在最后不必要加另外的代码释放内存,二维数组所在的函数运行结束时,系统会自动释放相应的内存,

new来创建二维数组。当我们不知道要建立几行几列的二维数组时,如建立一个m行n列的二维数组(m和n是未知数),用”inta[m][n];”是错误的,因为在这个语句中,m、n必须是正整常量表达式,m和n必须是常量。但如果使用new来创建二维数组就不受常量的限制了,new来创建二维数组过程是先创建行内存,然后在每一个行内存再划分列内存,我们可以使用如下代码。

a=newint*[m];

for(inti=0;i<n;i++)

a[i]=newint[n];

当然,使用new创建二维数组这种方法,在最后必须要用delete语句来释放内存,过程是先释放每一行的列内存,最后才释放行内存。释放内存的代码如下。

for(inti=0;i<n;i++)

deleteG.arcs[i];

delete[]G.arcs;

当然可以用new来3行4列的二维数组了。

本方法是在小编上课时学到的,仅供参考,在实际应用中应结合其他代码加以灵活使用。

《星之卡比探索发现》提灯开关怎么获得 无限火力锤石为什么伤害高 Autodesk Inventor2019注册机安装教程 如龙4主线任务“再访神室町”流程攻略 魔兽争霸——混乱之治 战役攻略 亡灵族篇(三)
热门搜索
少女的祈祷小说 史宾格犬图片 长安cs55报价及图片 最恐怖的图片 三明治图片