09_二維指標與陣列- 動態配置[m][n] 陣列@ 藍影
文章推薦指數: 80 %
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
延伸文章資訊
- 109_二維指標與陣列- 動態配置[m][n] 陣列@ 藍影
ptr = (資料型態*)malloc(sizeof(資料型態)*cnt);. 而今天我們要配置的是二維陣列,所使用到的指標是二次指標,也就是 int**, ...
- 2陣列與指標的關聯
陣列與指標在定義時, 使用記憶體不一 ... 拿到一個位址常數&a 或是指標變數ptr, 主要目標是運 ... int *z1=(int*) malloc(sizeof(int)*2); x[2...
- 3malloc、free、calloc 與realloc - OpenHome.cc
在這段程式中, malloc 會配置一個 int 需要的空間,並傳回該空間的位址,可以使用指標 p 來儲存位址,就C11 規範來說, malloc 只配置空間但不初始空間的值,若要在 ...
- 4怎么定義指向指標陣列(malloc的空間)的指標? - 有解無憂
如 int *p=(int *)malloc(sizeof(int)); p就指向了int 型別的陣列。 像 int *p[10];這樣的陣列 怎么定義一個指標p,怎么malloc一塊空間回傳地...
- 5進階指標
雖然陣列型態無法放在指定運算⼦子左⽅方,但是指標變. 數可以: ... 字串陣列是⼀一個指向char * 的指標陣列: ... 但是在使⽤用malloc 這類函式動態配置記憶體後,該.