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

2015-07-20 17:05:58 ? 作者: ? 浏览: 2
声明一个指向函数的指针数组,并通过指针调用函数。
#include
  
   
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--等运算。

?

-->

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: