函数指针与一般的指针也没有什么不同的,究其本质还是提供对内存地址的访问。我觉得我对函数指针就是这么理解的:我用一个函数但是我不想直接使用函数名啊什么的,我就想用一个指针找到这个函数在内存中的位置,然后使用指针访问,所以像定义基本的指针一样定义一个函数指针就需要指明类型、形参、指针名,比如我自己定义个add函数:
- int add(int a, int b)
- {
- return a+b;
- }
复制代码
然后我想用一个指针指向他,这个指针就得说明我要返回什么类型、有什么形参,所以我就该这么定义:
指明返回类型 int,然后定义的是一个指针变量:int (* f),然后我还要说明有几个形参,形参是什么类型,int (*f)(int, int),这样三步就把一个指向函数的指针说明清楚了。这是我的理解希望对楼主有帮助 |