1.指针数组
1 int *p[4];
等同于
1 int *(p[4]);
也就是说首先它是一个4位数组,具体什么类型不知道。
然后就是int*起作用,给这个4位数组中每一位加类型,其每一位都是int*指针。
2.数组的指针
1 int (*p)[4];
首先它是一个指针,没有指向类型。
然后他指向int[4],也就是指向一个4位int型数组。
3.在指针中使用数组
比如:
1 int a = 0; 2 int *p; 3 4 p=&a; 5 6 cout<< p<<endl; 7 8 cout<<&p[0]<<endl; 9 10 cout<<&p[1]<<endl; 11 12 p++; 13 14 count<<p<<endl;
运行完可以发现&p[1]的结果与(p+1)的地址,两个结果一致。