指向函数的指针数组的使用方法

声明一个指向函数的指针数组。并通过指针调用函数。

#include<stdio.h>
void f1();//函数f1的声明
void f2();//函数f2的声明
void f3();//函数f3的声明
void main()
{
	void (*f[3])()={f1,f2,f3};//指向函数的指针数组的声明
	int flag;
	printf("请输入一个1,2或者3.输入0退出.
");
	scanf("%d",&flag);
	while(flag)
	{
	   if(flag==1||flag==2||flag==3)
	   {
		   f[flag-1]();//通过函数指针调用数组中的函数
		   printf("请输入一个1,2或者3.输入0退出.
");
	       scanf("%d",&flag);
	   }
        else
	   {
		   printf("请输入一个合法的数(1-3)。0退出。
");
		   scanf("%d",&flag);
	   }
	}
	printf("程序退出。
");
}
void f1()//函数f1的定义
{
	printf("函数f1被调用!
");
}
void f2()//函数f2的定义
{
	printf("函数f2被调用!

"); } void f3()//函数f3的定义 { printf("函数f3被调用! "); }


程序执行结果:


注意:函数指针不能运行像fun+1、fun++、fun--等运算。

原文地址:https://www.cnblogs.com/yjbjingcha/p/7270428.html