C動態2維陣列

2022-07-29 16:35:05 字數 547 閱讀 9405

1樓:匿名使用者

理解錯誤

int*就是個int型的指標,sizeof(int *)是這個指標的大小

在c裡面,指標是預設為int型的,所以sizeof(int *)==sizeof(char *)==sizeof(long *)==sizeof(short *)==sizeof(int)的.(指標還沒有指向乙個已經定義好的陣列,如果是定義好的陣列sizeof(int*)返回的是陣列大小)

malloc返回值是個void*的指標,所以一般都是要作強制轉換成你要的型別的指標.

int**是指向指標的指標,如int**p,*p的值是個指標,**p才是p指向的指標所指向的值.

上面的x相當於定義了乙個指標的陣列,而x指向這個陣列的首址,形成行.每個陣列元素是乙個指標,這些指標分別指向乙個陣列首址.就形成了列

2樓:匿名使用者

x=malloc(rows*sizeof(int *));

表示分配乙個儲存rows個int *的空間,將首位址返回給x,前面的(int **)不是必須的,程式會自動轉換。

c 二維陣列排序問題,C 二維陣列sort函式排序問題

include 寫的比較簡單,原理你應該都知道了,後面的,就是 開始做的那個沒刪 void main for i 0 i 12 i 冒泡 for j 0 j 12 j if a j 4 j 4 a j 1 4 j 1 4 看起來有點複雜,其實就是 12個數分成3行4列,對應的行數就是j 4,列數j ...

關於c語言二維陣列的問題,C語言中二維陣列的定義問題

a是乙個一維陣列,陣列裡的值是指標,指向的還是一維陣列。即等價於,int x 2 2,0 int y 2 4,8 int a 2 x,y 我想你應該知道答案了。c語言中二維陣列的定義問題 正確寫法如下 char fd jgf1 maxitemlen 1 說明 把null去掉 1.二維陣列的第乙個維度...

C語言二維陣列問題

a代表陣列的首位址,a 0 代表這個二維陣列第一行的首位址,雖然這兩個位址值是一樣的 int p a表示p是指向int型別的指標a是乙個二維陣列,其指標指向的是一維陣列,一維陣列才指向的是int,因此得用兩重指標表示 int p a int p 4 a 定義的是乙個有4個元素的int陣列的指標,而a...