C语言进阶课程学习记录-函数指针的阅读
- 5个标识符含义解析
- 技巧
本文学习自狄泰软件学院 唐佐林老师的 C语言进阶课程,图片全部来源于课程PPT,仅用于个人学习记录
5个标识符含义解析
int (*p1) (int* , int (*f) ( int* ) );定义了指针p1,指向函数,输入参数2个:int*,f,f指向函数,类型为int(int*),输出int
typedef int Funtype(int *);
Funtype * f;
typedef int Funtype2(int *,Funtype*);
Funtype2 * p1;int (*p2[5]) (int*);
p2 为数组,数组的5个元素为指针,指向函数,函数类型int(int *)
typedef int Funtype(int *);
typedef Funtype * Array5type[5];
Array5type p2;int (* ( *p3)[5]) (int*);
p3为指针,指向数组,有5个元素,数组元素为指针,指向函数,函数类型为int(int*)
typedef int Funtype(int *);
typedef Funtype*PointerArray5[5];
PointerArray5 * p3;int* (*(*p4) (int*)) (int* );
p4为指针,指向函数,参数为int*,返回值为指针,指针指向函数,函数类型为int*(int*)
typedef int* FUNtype(int *);
typedef FUNtype* FUN2type(int*);
FUN2type * p4;int (*(*p5) (int*) )[ 5];
p5为指针,指向函数,参数为int*,返回值为指针,指向数组,数组类型为int[5]typedef int(arraytype)[5];
typedef arraytype*Functype(int*);
Functype *p5;