指针数组是用来存放指针的数组 是数组
int *P[10];
因为结合性[]的结合性大于*号的结合性 所以也可以看作 int* p[10]意思为有一个数组里面的元素是指针
数组指针是用来指向数组的指针 是指针
int*(*p)[10];
括号的结合性大于一切所以他是个指针用来指向数组
函数指针
int add(int a,int b)
int main()
{
int(*p)(int a,int b)=add;
}
指向函数的指针用来访问函数
函数指针实操
#include <stdio.h>
int add(int a,int b)
{
return a+b;
}
int mul(int a,int b)
{
return a*b;
}
int jan(int a,int b)
{
return a/b;
}
int an(int a,int b)
{
return a-b;
}
int main()
{
int(*p[4])(int a,int b)={add,mul,jan,an};//*号的结合性小于括号的
for ( int i = 0; i < 4; i++)
{
printf("%d\n",p[i](3,4));
}
return 0;
}
这里用了一个函数指针数组
总结 看主语这几个都是偏正短语
指针数组是用来存放指针的数组
数组指针是用来指向数组的指针
函数指针是用来指向函数的指针