指针数组和二维数组指针

http://c.biancheng.net/view/2022.html

#include <bits/stdc++.h>
using namespace std;
int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};
int main()
{
    int (*p)[4] =a;
    for(int i =0;i<3;i++){
        for(int j =0;j<4;j++){
            printf("%2d ",*(*(p+i)+j));
        }
        /*
        *(p+i): 第i行数据的首地址
        *(p+i)+j: 第i行第j列个元素的地址
        */
        printf("
");
    }
    return 0;
}

int *p1[5] //指针数组 int (*p1[5])一样的
int (*p2)[5]//二维数组指针
指针数组,每个元素都是指针,p1在32位环境下占4*5=20字节
二维数组指针,是一个指针,它指向一个二维数组。p2占4字节

原文地址:https://www.cnblogs.com/tingtin/p/11504657.html