这个指针函数和函数指针越看越晕啊,现在这个函数指针无法理解
- #include <stdio.h>
- //返回指针的函数
- /*
- 1、返回指针的函数
- 类型名 *函数名(参数列表);
- 2、函数指针,指向函数地址的指针
- 返回值类型 (*指针变量名)(参数列表);
- */
- int *pFunc(int ,int );//指针函数
- int (*pf)(int ,int );//函数指针
- int Function(int ,int);//普通函数
- int main()
- {
- int a = 10;
- int b = 5;
- int *addr = pFunc(a,b);//获取函数的返回值,是一个地址值
- printf("%d\n",*addr);
-
- pf = &Function;//将函数指针指向具体的函数
-
- printf("%d\n",pf(a,b));
- pf = &Function;
-
- //printf("%d\n",(*pf)(a,b));//为什么我这样调用错误啊,不是说这样调用也可以吗
- //printf("%d\n",Function(a,b));
- return 0;
- }
- //指针函数定义
- int* pFunc(int a,int b)
- {
- int *p ;
- *p = a+b;//赋值
- return p;
- }
- int Function(int a,int b)//普通函数
- {
- return a+b;
- }
复制代码
|
|