typedef 函数指针使用例程

typedef 宏定义替换一般变量的用法在此不再赘述。

本文主要针对函数指针这一用法做如下记录:

#include <stdio.h>
void (*pFunc)(void);		<span style="white-space:pre">					</span>//通用的函数指针定义
void pf1(void)
{
	printf("This is a function 1.\n");
}
void pf2(void)
{
	printf("This is a function 2.\n");
}
void pf3(void)
{
	printf("This is a function 3.\n");
}
int main(void)
{
	pFunc = pf2;<span style="white-space:pre">							</span>//通过函数指针获取函数入口地址,从而实现调用不同函数的功能
	(*pFunc)();
	pFunc = pf1;
	(*pFunc)();
	pFunc = pf3;
	(*pFunc)();

	return;
}

运行结果如下:


利用typedef的函数指针用法;

#include <stdio.h>
typedef	void (*pFunc)(void);<span style="white-space:pre">						</span>//利用typedef声明函数指针类型;

void pf1(void)
{
	printf("This is a function 1.\n");
}
void pf2(void)
{
	printf("This is a function 2.\n");
}
void pf3(void)
{
	printf("This is a function 3.\n");
}

int main(void)
{	
	pFunc reloadFunc;<span style="white-space:pre">						</span>//声明对应的函数指针变量;简化了函数指针的定义过程
	
	reloadFunc = pf1;
	(*reloadFunc)();
	reloadFunc = pf2;
	(*reloadFunc)();
	return;
}

运行结果如下:


发布了27 篇原创文章 · 获赞 8 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/liu1guo2qiang3/article/details/43225661