c++ 学习二维数组与指针

来源:互联网 发布:在淘宝购买网店 编辑:程序博客网 时间:2024/06/06 03:22
#include <stdio.h>void func(int p[][4])//形参代表指针变量{    //按列打印二维数组    for (int i = 0; i < 4; i++)    {        for (int j = 0; j < 3; j++)        {            printf("%d\n", *(*(p + j) + i));        }    }}int main(){    int array[3][4] = { { 0, 1, 2, 3 }, { 4, 5, 6, 7 }, { 8, 9, 10, 11 } };    func(array);    printf("%d, %d, %d, %d, %d\n", array, *array, &array, &array[0][0], &array[0]);//全都一样    //array[0]不是一个变量,而是二维数组中第0行的首地址    printf("%d\n", array + 1); //第1行的首地址    printf("%d\n", array[0] + 1);//第0行第二个地址    //int* p = array; //指向一维数组的指针    int (*p)[4]; //变相的二级指针    p = array;    printf("%d\n", **(p +1));    /*for (int i = 0; i < 4; i++)    {        for (int j = 0; j < 3; j++)        {            printf("%d\n", array[j][i]);        }    }*/    return 0;}
原创粉丝点击