有木有人在吗?关于指针函数的函数指针这个绕绕的词解决方案
有木有人在吗?关于指针函数的函数指针这个绕绕的词

如上,能有味大神给解释一下吗?实在是想不通and想不懂啊?函数指针指向了一个函数的首地址,那指针函数的函数指针又是个什么玩意?
------解决思路----------------------
首先,
指针函数 —— 是一个函数,这个函数返回值是指针类型
函数指针 —— 是一个指针,这个指针指向一个函数
其次,
函数指针,是个相对比较正式的概念,实际中也会偶尔使用到函数指针,多用于注册回调函数。
指针函数,我觉得不应该作为一个概念被提出来,多半是为了混淆人或达到一种字面上的效果而被提出来的,因为返回值各种各样,没必要把返回指针的函数单独拎出来给个概念。不然,也可以说整形函数、浮点函数、向量函数、引用函数、空函数等等等等,没什么实际用处,楼主不需要重视这个东西。
------解决思路----------------------
函数指针指向一个函数的地址,而调用函数的过程也就是跳转至函数的首地址处开始执行,因此函数指针可以正常调用的。
------解决思路----------------------
如上,能有味大神给解释一下吗?实在是想不通and想不懂啊?函数指针指向了一个函数的首地址,那指针函数的函数指针又是个什么玩意?
------解决思路----------------------
首先,
指针函数 —— 是一个函数,这个函数返回值是指针类型
函数指针 —— 是一个指针,这个指针指向一个函数
其次,
函数指针,是个相对比较正式的概念,实际中也会偶尔使用到函数指针,多用于注册回调函数。
指针函数,我觉得不应该作为一个概念被提出来,多半是为了混淆人或达到一种字面上的效果而被提出来的,因为返回值各种各样,没必要把返回指针的函数单独拎出来给个概念。不然,也可以说整形函数、浮点函数、向量函数、引用函数、空函数等等等等,没什么实际用处,楼主不需要重视这个东西。
------解决思路----------------------
函数指针指向一个函数的地址,而调用函数的过程也就是跳转至函数的首地址处开始执行,因此函数指针可以正常调用的。
------解决思路----------------------
#include <stdio.h>
#include <stdlib.h>
typedef int* (*pfun_t)(void);
int* create(void)
{
int* ai = (int*)malloc(sizeof(int));
return ai;
}
void destory(int* ai)
{
if(ai != NULL){
free(ai);
}
}
int main(int argc, char* argv[])
{
/** fun就是指针函数的函数指针 */
pfun_t fun = create;
printf("%p\n", fun);
return 0;
}
如上,能有味大神给解释一下吗?实在是想不通and想不懂啊?函数指针指向了一个函数的首地址,那指针函数的函数指针又是个什么玩意?