C 基礎 二維陣列動態的申請記憶體和釋放記憶體

2022-09-17 19:30:14 字數 1085 閱讀 1276

使用二維陣列的時候,有時候事先並不知道陣列的大小,因此就需要動態的申請記憶體。常見的申請記憶體的方法有兩種:malloc/free 和 new/delete。

一、malloc/free

(1)申請一維陣列

void

dynamiccreate1array()

(2)申請二維陣列

void

dynamiccreate2array()

//輸入資料

printf("

please input data:");

for (i = 0; i < m; i++)

for (j = 0; j < n; j++)

cin >>p[i][j];

//輸出資料

for (i = 0; i < m; i++)

cout

<}

//釋放開闢的二維空間

for (i = 0; i < m; i++)

free(*(p +i));

}

二、new/delete

(1)申請一維陣列

void

dynamiccreate1array()

(2)申請二維陣列

void

dynamiccreate2array()

//釋放開闢的資源

for (i = 0; i < m; i++)

delete

p[i];

delete

p;}

注:另一種方法: 

row:行

col:列

unsigned int **pppathes;

*pppathes = (unsigned int *)calloc(row * col, sizeof(unsigned int));

使用malloc:

*pppathes = (unsigned int *)malloc(sizeof(unsigned int )*(pathnumtemp) * (pathlentemp + 1));

C 二維陣列動態申請記憶體

好久沒用c 刷題了,今天早上刷了幾條題,感覺很陌生了。怪我,大二下實在太頹廢了,沒啥作為。今天更新個關於c 二維陣列記憶體申請的問題,當初作為菜鳥初學指標的時候,還是在這方面有點搞不通的。今天用到了,順便寫下來,適當時候給c 初學者用用。c 二維陣列動態申請記憶體 如果對new和delete不是很了...

C 動態申請二維陣列

剛學習,做下總結。以下是我的理解,如有錯誤歡迎指出。申請 int a 乙個指向指標的指標。int n m cin n m a new int n 申請乙個n個元素的一維陣列 作為行 for int i 0 i 關係如下假設 n 3 m 4 先申請乙個一維陣列,陣列的每個元素都是乙個指標變數 該陣列的...

C 中動態申請二維陣列

這裡主要介紹c 中動態申請二維陣列的兩種方式,直接給出 很容易明白,簡單的作為乙個筆記。include include 輸入輸出操縱 include using namespace std 法一 new 方式申請 void dynamicarray for i 0 i rows i cout end...