使用二維陣列的時候,有時候事先並不知道陣列的大小,因此就需要動態的申請記憶體。常見的申請記憶體的方法有兩種:malloc/free 和 new/delete。
一、malloc/free
(1)申請一維陣列
voiddynamiccreate1array()
(2)申請二維陣列
voiddynamiccreate2array()
//輸入資料
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)申請一維陣列
voiddynamiccreate1array()
(2)申請二維陣列
voiddynamiccreate2array()
//釋放開闢的資源
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...