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

有木有人在吗?关于指针函数的函数指针这个绕绕的词
有木有人在吗?关于指针函数的函数指针这个绕绕的词解决方案
如上,能有味大神给解释一下吗?实在是想不通and想不懂啊?函数指针指向了一个函数的首地址,那指针函数的函数指针又是个什么玩意?
------解决思路----------------------
首先,
指针函数 —— 是一个函数,这个函数返回值是指针类型
函数指针 —— 是一个指针,这个指针指向一个函数
其次,
函数指针,是个相对比较正式的概念,实际中也会偶尔使用到函数指针,多用于注册回调函数。
指针函数,我觉得不应该作为一个概念被提出来,多半是为了混淆人或达到一种字面上的效果而被提出来的,因为返回值各种各样,没必要把返回指针的函数单独拎出来给个概念。不然,也可以说整形函数、浮点函数、向量函数、引用函数、空函数等等等等,没什么实际用处,楼主不需要重视这个东西。
------解决思路----------------------
引用:
Quote: 引用:

首先,
指针函数 —— 是一个函数,这个函数返回值是指针类型
函数指针 —— 是一个指针,这个指针指向一个函数
其次,
函数指针,是个相对比较正式的概念,实际中也会偶尔使用到函数指针,多用于注册回调函数。
指针函数,我觉得不应该作为一个概念被提出来,多半是为了混淆人或达到一种字面上的效果而被提出来的,因为返回值各种各样,没必要把返回指针的函数单独拎出来给个概念。不然,也可以说整形函数、浮点函数、向量函数、引用函数、空函数等等等等,没什么实际用处,楼主不需要重视这个东西。
那我想问的是,函数指针a也可以是一个函数吗?我真的有点被绕晕


函数指针指向一个函数的地址,而调用函数的过程也就是跳转至函数的首地址处开始执行,因此函数指针可以正常调用的。
------解决思路----------------------

#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想不懂啊?函数指针指向了一个函数的首地址,那指针函数的函数指针又是个什么玩意?