前者重点是数组,数组中包含的是一个个指针,故而指针数组初始化,例如:int *a[4];所占内存大小为四个整型指针的控件的大小
后者重点是指针,指针指向一个数组,故而数组指针初始化,例如:int (*a)[4];所占内存就是一个指针的大小
//#include<stdio.h>
#include<iostream>
using namespace std;
int main(){
int *a[4];
int (*b)[3];
int c[3][3]={1,2,3,4,5,6,7,8,9};
b=c;
cout<<&c<<" "<<c<<" "<<&c[0]<<" "<<&c[0][0]<<endl;
for(int i=0;i<3;i++){
cout<<*(b[0])<<endl;
b++;
}
return 0;
}
运行结果如下:(注意二维数组首地址结果)