函数:
C语言中形如数据类型 数据名(形参){} 称为函数,函数可以实现一些指定的功能
int add(int x,int y) add:函数名,就是函数的地址
{ 函数的签名:函数返回值,参数的类型,个数(add中返回值的签
return x+y; 名是int,参数的签名是int,两个)
}
int main ()
{
。。。
}
函数指针:
是指针,存放的是一个函数的地址。
函数指针的定义方法:
I. 使用typdef定义函数指针(红色)
II. 用签名来定义函数指针(蓝色)
int add(int x,int y) //定义一个子函数add用来实现两个整数的加法
{
return x+y;
}
typedef int (*ff)(int x,int y); // 定义一个函数指针ff,要求其指向一个签名为 int ,两个形参的函数
int main()
{
int a=100;
int b=23;
int (*ff)(intx,int y)=add; //使ff指向一个函数add
ff p=add;//add赋值给p,相当用p来调用add //使用typedef定义
intc=ff(a,b);
printf(“%d\n”,c);
printf(“%d\n”,p(a,b));
printf(“%d\n”,add(a,b));
printf(“%d\n”,(*ff)(a,b)); //实际操作可得,四种输出方式输出的结果是相同的,说明ff指向了函数add,ff(a,b)等价于add(a,b)
return 0;
}
指针函数:
是函数,返回值为指针的函数;
#include <stdio.h>
char *address(char c) //定义指针函数
{
int *p=NULL;
p=&c;
return p; //返回值为p,p是指针
}
int main()
{
char c='B';
printf("%d",address(c));//导出c的地址;
return 0;
}