定义
如果在程序中定义了一个函数,在编译时,编译系统给函数代码分配了一个储存空间,这段储存空间的起始地址 称为这个函数的指针
函数的地址
函数名就是地址。
如何定义一个函数指针
就和其他不同变量一样
int a; char c; 函数 int getData(int a,int b);
int *p; char *p; int (*p) (int a,int b);
使用函数指针
#include <stdio.h>
void printWelcome()
{
puts("程序启动,欢迎使用\n");
}
int main()
{
int a =10;
int *pa;
pa = &a;
printf("%d\n",*pa);
void (*p)() ;// 定义指针函数变量
p = printWelcome;//指向函数
printWelcome();
(*p)(); //调用
return 0;
}
指针函数的 直接访问 变量名(函数名)
间接访问 指针 (函数指针)
#include <stdio.h>
int inCDdata(int data)
{
return ++data;
}
void printWelcome()
{
puts("程序启动,欢迎使用\n");
}
int main()
{
void (*p)() ;// 定义指针函数变量
int (*p2)(int data);
p = printWelcome;//指向函数
p2 = inCDdata;
printWelcome(); // z直接访问(利用函数名)
(*p)(); //调用 指针函数
printf("P2测试 :%d\n",(*p2)(10));
return 0;
}