我们先看下面2行代码:
int (*ptr)(char* a,char* b); //定义函数指针
int *ptr(char* a,char* b); //定义指针函数
对于第一行代码是定义了一个名字为ptr的函数指针,该指针可以指向一个带有两个字符指针参数且返回值为整型的函数。而第二行代码是一个指针函数的申明。其主要差别是函数指针需要用括号将*和指针名放到一起,否则就认为是一个函数的申明。
我们先看下面2行代码:
int (*ptr)(char* a,char* b); //定义函数指针
int *ptr(char* a,char* b); //定义指针函数
对于第一行代码是定义了一个名字为ptr的函数指针,该指针可以指向一个带有两个字符指针参数且返回值为整型的函数。而第二行代码是一个指针函数的申明。其主要差别是函数指针需要用括号将*和指针名放到一起,否则就认为是一个函数的申明。