二维动态数组

之前都是写的小程序,一直用的静态数组,也没出现问题。

可是,最近碰到大型程序和工程,这时就要用动态数组了。

因为静态数组时保存在栈中的,而动态数组保存在堆中。

计算机的栈只有1M大小,而堆可以理论上达到计算机内存大小,

可见当大型工程数据量非常大时,必须使用动态数组了。

c++的动态数组的建立和删除要用到new和delete,

new用来开辟内存空间,delete用来删除内存空间。

建立二维动态数组test,第一维大小为n_test1,第二维大小为n_test2。

并且n_test1和n_test2可以为变量,这点和静态数组不同,静态数组必须用常量或数字。

下面时具体实现代码:

 1 #include <cstdio>
 2 #include <cstring>
 3 #include <algorithm>
 4 using namespace std;
 5 
 6 void init(int a,int b,int **T)
 7 {
 8     for(int i=0;i<a;i++)
 9     {
10         T[i]=new int[b];
11     }
12 }
13 
14 void final(int a,int **T)
15 {
16     for(int i=0;i<a;i++)
17     {
18         delete[] T[i];
19     }
20     delete[] T;
21 }
22 
23 int main()
24 {
25     int n_test1;
26     int n_test2;
27     int **test=new int *[n_test2];
28     init(n_test1,n_test2,test);
29     //.....
30     final(n_test1,test);
31 
32     return 0;
33 }

 

转载于:https://www.cnblogs.com/sunjieee/p/4064603.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值