指针数组和数组指针
指针的声明为
int *p=new int;
其中 *的位置左右有没有空格不影响效果。
指针数组为一个数组,其元素为指针。
数组指针为一个指针,指向一个数组。
指针数组
指针数组是一个数组,数组的每个元素是一个指针,指向一个存储单元。
指针数组的定义例如
int *p=new int(10);
数组指针
数组指针是一个指针,这个指针指向一个完整数组。
定义为
int s(10)={1,2,3,4,5,6,7,8,9,0};
int (*p)=&s;
指针函数与函数指针
指针函数是一个函数,其返回值为指针。
函数指针是一个指向函数的指针。
指针函数
指针函数是返回值为指针的函数,本质上是一个函数。
int *fun(int x);
此函数返回的就是一个指针,由于*的位置没有固定要求,因此左右靠均可,一般写成上面的形式。
函数指针
函数指针是一个指针,与函数数组相比较,可以理解为一个指向函数的指针。
定义也类似:
int (*func)(int x);
赋值:
func=exa1;
//func=&exa1;也可以,取地址符不是必要的。
调用:
x=func(5);
x=(*func)(5);
两者均可,推荐第二种。
https://blog.csdn.net/luoyayun361/article/details/80428882