指針輸出二維數組技巧解析
千萬不要覺得二維數組中 * 也表示取值,兩次 * 才表示取值,而在二維數組中第一個*就是固定用法,詳見代碼的解析以及實例;
#include <stdio.h>
#include <stdlib.h>
//一維數組中 :a[1] 與 *a(+1)
//二維數組中 :&a[1][1] 與 *(a+1)+1 等價,這裏的*是固定用法,第二次*才表示取值;(見代碼)
int main()
{
int _array[2][3] = {1,2,3,4,5,6};
printf("0行首地址和0行0列元素地址: %d , %d\n",_array, *_array); //這裏的*_array表示的就是第一個元素的地址(因爲是二維數組)
printf("0行首地址和0行0列元素地址: %d, %d\n",&_array[0], *(_array+0)+0);
printf("1行0列的元素地址: %d, %d\n",_array[1],*(_array+1));
printf("0行1列的元素地址: %d, %d\n",&_array[0][1],*(_array+0)+1);
printf("1行1列的元素值: %d, %d\n",_array[1][1],*(*(_array+1)+1));
return 0;
}
——————————編程路上,你我爲伴——————————