zoukankan      html  css  js  c++  java
  • 二维动态数组

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

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

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

    计算机的栈只有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 }
  • 相关阅读:
    每日一练leetcode
    每日一练leetcode
    每日一练 leetcode
    每日一练leetcode
    每日一练leetcode
    leetcode每日一练
    BigDecimal类 定义及用法
    每日一练leetcode
    每日一练leetcode
    字符串表达式校验&求值(C#实现) 附代码
  • 原文地址:https://www.cnblogs.com/sunjieee/p/4064603.html
Copyright © 2011-2022 走看看