09_二維指標與陣列- 動態配置[m][n] 陣列@ 藍影

文章推薦指數: 80 %
投票人數:10人

ptr = (資料型態*)malloc(sizeof(資料型態)*cnt);. 而今天我們要配置的是二維陣列,所使用到的指標是二次指標,也就是 int**, ... 藍影 跳到主文 生命就是享受不停學習的過程.. 部落格全站分類:數位生活 相簿 部落格 留言 名片 Sep13Sun200908:36 09_二維指標與陣列-動態配置[m][n]陣列 在進入這階段時,請先確定前八個階段都確定會了再下來會好些。

另外,有篇文章請先看過... [console]一維陣列與指標[console]二維陣列基本介紹[console]二維陣列與指標 在介紹完一維陣列的動態配置之後,接下來探討更常用的–使用指標配置二維動態陣列。

這種方式和配置一維陣列非常像,假設我們要配置一個2*4的矩陣, 其矩陣內容如下:   COL1 COL2 COL3 COL4 ROW1 0 1 2 3 ROW2 4 5 6 7   我們於08_使用指標建立一維動態陣列時有提到,C語言配置動態陣列的語法: 資料型態*ptr;ptr=(資料型態*)malloc(sizeof(資料型態)*cnt); 而今天我們要配置的是二維陣列,所使用到的指標是二次指標,也就是int**,說白了,就是指標的指標。

現在,在上列的語法中,我們把“資料型態”全都以int*代替,ptr以ptr2取代(因為是二維,變數方便辨識),至於cnt先用ROW代替。

變成了下面這樣: int **ptr2;ptr2=(int**)malloc(sizeof(int*)*ROW); 沒錯!這就是二維動態陣列配置的第一步,它的實際意思就是:配置了ROW個整數指標陣列(現在知道指標陣列是拿來幹嘛的了吧!就是要拿來再生成其它的動態陣列)。

接下來,我們再利用每個指標陣列(共ROW個)再去生成COL個整數陣列,所以所得到的二維陣列大小剛好就是ROW*COL。

for(inti=0;i#include #defineROW              2#defineCOL               4 //====================================//mainfunctionintmain(intargc,char**argv){              inti=0,j=0;       int**ptr2=NULL;        //生成一維指標陣列       ptr2=(int**)malloc(sizeof(int*)*ROW);        //每個指標陣列再生成整數陣列       for(i=0;iusingnamespacestd; #defineROW               2#defineCOL               4 //====================================//mainfunctionintmain(intargc,char**argv){              inti=0,j=0;       int**ptr2=NULL;        //生成一維指標陣列       ptr2=newint*[ROW];        //每個指標陣列再生成整數陣列       for(i=0;i



請為這篇文章評分?