二維數組輸出的指針表示法技巧解析

指針輸出二維數組技巧解析

千萬不要覺得二維數組中 * 也表示取值,兩次 * 才表示取值,而在二維數組中第一個*就是固定用法,詳見代碼的解析以及實例;

#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;
}

——————————編程路上,你我爲伴——————————
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章