二维数组与指针


二维数组与指针

概念说明:二维数据也叫矩阵,二维数组数据是按照行来进行存储的。指针也叫地址,其实二维数组名就是一个地址

二维数组名和指针的使用

#include 
int main ()
{
    int a[3][4] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12};

    printf ("二维数组名作指针引用元素\n");
    for (int i = 0; i < 3; i++)
    {
        for (int j = 0; j < 4; j++)
            printf("%2d ", *(*(a + i) + j));
        printf ("\n");
    }
  
    printf ("二维数组名下标引用元素\n");
    for (int i = 0; i < 3; i++)
    {
        for (int j = 0; j < 4; j++)
            printf ("%2d ", a[i][j]);
        printf ("\n");
    }

    printf ("二维数组名作指针引用行\n");
    char country[5][50] = {"China","America","Russia","Britain","Franch"};
    for (int i = 0; i < 5; i++)
    {
        printf ("%s\n", *(country+i));
    }

    printf ("二维数组名一维下标引用行\n");
    for (int i = 0; i < 5; i++)
    {
        printf ("%s\n", country[i]);
    }
    return 0;
}

代码运行结果
结果证明:*(*(a + i) + j)等价a[i][j]*(country+i)等价country[i]

转载请注明出处