首页 > 编程语言 > 详细

c语言函数指针数组简单案例

时间:2019-03-06 15:43:01      阅读:116      评论:0      收藏:0      [点我收藏+]

本案例基于vc6.0的一个简单的测试c语言函数指针数组的简单案例,代码放置如下:

#include<stdio.h>
int fun1()
{
	int a=4,b=5;
	int c;
	c=a+b;
	return c;
}
int fun2()
{
	int a=3,b=2;
	int c;
	c=a+b;
	return c;
}
int fun3()
{
	int a=6,b=7;
	int c;
	c=a+b;
	return c;
}
void main()
{
	int (*pf[3])();  //定义了一个函数指针数组
	int i;
	pf[0]=fun1;
	pf[1]=fun2;
	pf[2]=fun3;
	for(i=0;i<3;i++)
	{
		printf("%d\n",(*pf[i])());
	}
}

  输出结果如下:

技术分享图片

我们把主函数函数指针数组的表达方式换一种,代码贴下如下:

void main()
{
	int (*pf[3])()={fun1,fun2,fun3};
	int i;
	for(i=0;i<3;i++)
	{
		printf("%d\n",(*pf[i])());
	}
}

所运行的程序正确,并且运行结果与上述的保持一致;

把子函数都换成void 类型,那么主函数里面的函数指针数组类型int,void都可以,运行结果不变,代码贴下如下:

#include<stdio.h>
void fun1()
{
	int a=4,b=5;
	int c;
	c=a+b;
	printf("c=%d\n",c);
//	return c;
}
void fun2()
{
	int a=3,b=2;
	int c;
	c=a+b;
	printf("c=%d\n",c);
//	return c;
}
void fun3()
{
	int a=6,b=7;
	int c;
	c=a+b;
	printf("c=%d\n",c);
//	return c;
}
void main()
{
	void (*pf[3])()={fun1,fun2,fun3};//void类型,int类型都可以
	int i;
	for(i=0;i<3;i++)
	{
		(*pf[i])();
		//printf("%d\n",(*pf[i])());
	}
}

  

 19/3/6

c语言函数指针数组简单案例

原文:https://www.cnblogs.com/hailink5/p/10483407.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!