分享

在VC 中如何来动态分配二维数组?

 风雨电雷 2012-04-28

在VC++中如何来动态分配二维数组?

时间:2011-06-29 11:37 来源:本站原创 作者:醉卧流霞 点击: 361次
内容提要:在开发应用程序时,经常需要定义一个二维数组,但我们往往不知道这个二维数组的大小,这样一来,我们就只能采用动态分配的方式来实现,怎样才能动态地分配二维数组呢,本文为您一一道来。

在开发应用程序时,经常需要定义一个二维数组,但我们往往不知道这个二维数组的大小,这样一来,我们就只能采用动态分配的方式来实现,怎样才能动态地分配二维数组呢,本文为您一一道来。

在VC++中,要想实现二维数组的动态创建,就必须使用C++中的堆对象,所谓的堆对象就是一个在程序运行的过程中随时可以被删除的对象,可以用操作符new来创建,如:new K[a],其中,K是一个类型表达式,a是一个类型表达式。另外,为了能在应用程序中存取new操作符所创建的对象,必须用一个K*类型的对象指向所创建的堆对象,并且,当使用new[]操作符创建数组对象时,无法为数组对象定义初始值,因为它的初始值是默认的,下面提供一段动态分配二维数组的代码,仅供参考。

int hang = K;
int lie = K;
int **unin = new int*[hang];
for(int j=0;j<hang;j++)
unin[j] = new int[lie];
for(int j=0;j<hang;j++)
delete[lie] unin[j];
delete [hang] unin;

注:在使用操作符new[]创建的数组对象在结束其生存期之后要使用操作符delete[]进行删除,否则可能造成内存泄漏。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多