二維陣列與指標

璐璐的賣萌術發表於2020-12-18

二維陣列型別的地址
int a[2][3]
&a
新的型別就要用新的定義方式
(*p)表示p是一個指標。二維陣列指標的本質就是一個地址資訊
[2][3]表示型別
int 表示所指向的陣列裡裝的型別
組合:int (*p)[2][3]=&a
注意元素個數一定要相同

陣列名字 == 陣列首元素地址(第一個小陣列地址)
a == &a[0]
a[0] == &a[0][0],a[1]==&a[1][0]

*p指向一個變數a的地址,p就是這個變數a本身
利用p遍歷二維陣列
a[1][2]=(*p)[1][2]

//利用p遍歷二維陣列
#include<stdio.h>
int main(void)
{
    int a[2][3]={{56,2,123},{3,555,1}};
    int (*p)[2][3]=&a;
    int i,j;
    for(i=0;i<2;i++)
    {
        for(j=0;j<3;j++)
        {
            printf("%d ",(*p)[i][j]);//直接用(*p)把陣列名a換掉
        }
        printf("\n");
    }
    return 0;
}

相關文章