指標系列六(指標與二維陣列)

2022-09-09 15:39:23 字數 1125 閱讀 9102

//指標與二維陣列

int array[4][5] = ;

printf("sizeof int: %d\n", sizeof(int));

printf("array: %p\n", array);

printf("array + 1 : %p\n",array +1);

//上面程式證明 array+1,位址加了20,每乙個整形四個位元組,相當於跨越了五個位元組

//證明了array是指向包含了五個元素的陣列的指標

//指標解引用

int array[4][5] = ;

int i, j, k=0;

for ( i = 0; i < 4; i++)

}printf("*(array+1): %p\n",*(array +1) );

printf("array[1] :%p\n", array[1]);

printf("&array[1][0]:%p \n", &array[1][0]);

printf("**(array+1): %d\n", **(array + 1));   

下面相等

printf("*(*(array+1)+3): %d\n", *(*(array + 1) + 3));//第二行第四列   8

printf("array[1][3]:%d \n", array[1][3]);//第二行第四列   8

// 陣列指標與二維陣列

int array[2][3] = , };

int (*p)[3] = array;

printf("**(p+1):%d\n", **(p + 1));

printf("**(array+1):%d\n", **(array + 1));

printf("array[1][0]:%d\n", array[1][0]);

printf("*(*(p+1)+2):%d\n", *(*(p + 1) + 2));

printf("*(*(array+1)+2):%d\n", *(*(array + 1)+ 2));

printf("array[1][2]:%d\n", array[1][2]);

C 035 指標與二維陣列

指標和二維陣列的關係有點繞,需要細細分析。通過 的方式,列印位址去理解。1.定義乙個指向一維陣列的資料的指標 格式 資料型別 指標變數名稱 陣列名稱 一維陣列的下標 2.定義乙個指標的陣列 格式 資料型別 指標變數名稱 指標個數 3.定義乙個指向一維陣列的指標 格式 資料型別 指標名稱 所指向的一維...

c 返回二維陣列 C的指標(三)指標和二維陣列

對於二維陣列array 4 5 array應理解為是包含四個元素的陣列,每個元素是乙個一維陣列,它們有五個元素。例 int mat 3 4 陣列含義 考慮到陣列名代表陣列第乙個元素的位址 mat mat 0 mat 0 mat 0 0 matmat 0 1指向陣列mat 0 的第二個元素,是mat ...

二維陣列 指標陣列與陣列指標

一 首先我們從字面意思理解一下什麼是指標陣列什麼是陣列指標 1 指標陣列 本質是乙個陣列,陣列中的每乙個元素是乙個指標。2 陣列指標 本質是乙個指標,而指標指向乙個陣列。二 我們該怎麼區分指標陣列和陣列指標?1 總共有三種表示形式 int p 4 和int p 4 和int p 4 表面看起來是不是...