函数指针:
- 函数指针的函数名是一个指针
- 函数指针返回值是定义的函数的返回值类型
函数指针定义
int (*f)(int a, int b); // 声明函数指针
下面是函数指针的一个例子
#include "stdio.h"
#include "stdlib.h"
#include "string.h"
//函数指针返回地址是函数入口地址,有两个参数的函数
int max(int a,int b);
int max(int a, int b)
{
return a>b? a:b;
}
int main()
{
int (*pmax)(int a,int b);
pmax = max;//函数指针f指向求函数 , 返回函数的入口地址
int c = (*pmax)(1,2);//函数值
printf("%d\n",c);
system("pause");
return 0;
}
指针函数:
- 返回值是定义的函数指针
- 函数名本身就是一个地址,定义指针指向函数的入口地址
#include "stdio.h"
#include "stdlib.h"
#include "math.h"
//函数指针
int *psum(int a, int b);
////函数名本身就是一个地址,这个地址就是函数的入口地址
//int sum(int a,int b)
//{
// return 23;
//}
//指针函数返回是指针类型 int *p;
int *psum(int a, int b)
{
int *p=(int *)malloc(sizeof(int));//分配内存
*p = a+b;
return p;
}
int main()
{
int *p1= NULL;
p1=psum(1,2);
printf("%d\n",*p1);
system("pause");
return 0;
}
371

被折叠的 条评论
为什么被折叠?



