怎麼定義二維動態陣列,怎麼定義一個二維動態陣列

2023-01-11 20:06:00 字數 639 閱讀 9073

1樓:醉俊傑

兩種方案,樓主自選吧。(定義一個m*n的二維陣列)//1st 指標陣列來實現

char **arr = (char **)malloc(m*sizeof(char *));

for(i = 0; i < m; i++)arr[i] = (char*)malloc(n*sizeof(char));

//2nd  一個指向一位陣列的指標來實現char (*arr)[n] = (char(*)[n])malloc(m*n*sizeof(char));

有疑問請追問。

2樓:匿名使用者

這裡以c語言為例

一般來講兩種辦法:

第一種:連續記憶體分配

#include "stdio.h"

#include "stdlib.h"

int main()

第二種:通過指標陣列+二級指標

#include "stdio.h"

int main()

for(i=0;i

}........//訪問第i行第j列:p[i][j]for(i=0;i

free(p);

return 0;}

定義二維陣列a,請問a與a等價嗎

a是二維陣列的首地址,而a 0 同樣是二維陣列中第一行的首地址,是等價的。a 1 是第二行首個元素,a 1 是其地址,不等價。a 1 與a 1等價 單獨一個a就是指a 0 a,a 1 a 1 a 1 a 0 1 定義了二維陣列a 3 4 那麼a 1,a 1 a 1 a 0 1 各代表什麼意思 因為a...

c語言中如何定義二維陣列,C語言中如何定義一個二維陣列

int a 2 3 a 0 0 a 0 1 a 0 2 a 1 0 a 1 1 a 1 2 表示兩行三列 include main int i,j,total 0 for i 0 i 3 i printf n printf total d n total 用指標new出來 二維陣列定義必須規定列 i...

C語言定義形參為二維陣列行指標的函式,實現將所指向的陣列所有元素乘以5的功能

處理前 0 1 2 3 4 5 4 5 6 7 8 9 8 9 10 11 12 13 12 13 14 15 16 17 處理後 0 5 10 15 20 25 20 25 30 35 40 45 40 45 50 55 60 65 60 65 70 75 80 85 press any key ...