用new建立乙個二維陣列,有兩種方法,是等價的

2021-06-21 10:05:02 字數 1316 閱讀 3115

//用new建立乙個二維陣列,有兩種方法,是等價的   

一:   

int   (*p)[10]   =   new   int[5][10];   

二:   

int   **p   =   new *  int[5];   

for(int   i=0;i<5;i++)   

p[i]   =   new   int[10];   

//指標陣列的建立,也有兩種方法   

一:   

char   *pa   =   new   char[4];   

for   (int   i=0;i<4;i++)   

二:   

char   *pa[4];//可以不用new建立   

for   (int   i=0;i<4;i++)   

//delete二維陣列   

for(int   i=0;   i<5;   ++i)   

delete      p[i];   

delete   p;   

//delete指標陣列   

一:   

for(int   i=0;   i<4;   ++i)   

delete      pa[i];   

delete   pa;   

二:   

for(int   i=0;   i<4;   ++i)   

delete      pa[i];

現在已經全部修改通過了的   

#include  

using   namespace   std;   

void   main()   

//二:   

char   *pa[4];//可以不用new建立   

for   (int   i=0;i<4;i++)   

//delete二維陣列   

//for一:   

delete   p;   

//for二:   

for(int   i=0;   i<5;   ++i)   

delete   p[i];   

delete   p;   

//delete指標陣列   

//for一:   

for(int   i=0;   i<4;   ++i)   

delete   pa[i];   

delete   pa;   

//for二:   

for(int   i=0;   i<4;   ++i)   

delete   pa[i];   

}

如何new乙個二維陣列

定義二維陣列char array x y 1.只定義個一維的就可以了 char array array new char x y 訪問的時候 array i y j 表示array i j 2.定義乙個二維陣列 char array1 array1 new char x for i 0 iarray...

C 用new建立二維陣列的方法

問題 在c 中,陣列可以被視為一種型別 但是,不存在 二維陣列 這種型別。二維陣列本身會被解釋成乙個一維陣列 這個陣列的元素型別為另一種一維陣列。比如int 2 3 這個二維陣列,它會被編譯器視作乙個元素型別為 int 3 的一維陣列。並且,int 3 和 int 4 會被當成不同的資料型別。假設a...

C 用new建立二維陣列的方法

方法一 使用常量 接上 如果將b 即列數 指定為乙個常量,例如new int a 3 其實質與new int a 建立乙個動態陣列並無多大區別 只是元素型別由int變為了 int 3 而已。示例 用這個方法來建立二維陣列,比較直觀 易用,但它最大的限制在於 你必須在編譯時確定b的大小 int mai...