指针数组:int *a[3]
数组的元素是指针
元素表示:*a[i]==*(a[i]) //[] 优先级高于*
#include "iostream"
#include "cstdlib"
using namespace std;
int main()
{
int *a[3];
int b=1;
int c=2;
int d=3;
a[0]=&b;
a[1]=&c;
a[2]=&d;
int *a1[3];
a1[1]=(int*)malloc(sizeof(int));
cout<<*a1[1]<<endl;
cout<<**(a+0)<<endl;
cout<<*a[0]<<" "<<*a[1]<<" "<<*a[2]<<endl;
return 1;
}
数组指针:int (*a)[3]
指针保存的是数组
元素表示:(*a)[i]
#include "iostream"
#include "cstdlib"
using namespace std;
int main()
{
int a[3]={1,2,3};
int b[5]={1,2,3,4,5};
int (*p)[3];
p=&a;
cout<<(*p)[0]<<endl;
cout<<(*p)[1]<<endl;
cout<<(*p)[2]<<endl;
cout<<*(*p+0)<<endl;
cout<<*(*p+1)<<endl;
//p=&b;这样写报错
return 1;
}