#include "stdio.h"
typedef unsigned int UINT32;
typedef UINT32 (* pfCASE) (UINT32 case_ID);
UINT32 funcA(UINT32 case_ID)
{
printf("hello\n");
return case_ID+1;
}
UINT32 funcB(UINT32 case_ID)
{
printf("world\n!");
return case_ID+1;
}
pfCASE pfCase1[] ={
funcA,
funcB
};
void main()
{
static UINT32 i,case_num;
case_num = sizeof(pfCase1)/sizeof(pfCase1[0]);
for(i=0;i<case_num;)
{
i=pfCase1[i](i);
}
}
本文介绍了一个使用C语言函数指针数组实现简单状态机的例子。通过定义通用类型和函数指针,实现了根据不同输入调用不同函数的功能。该示例展示了如何声明函数指针数组并利用它来间接调用具体的函数。

被折叠的 条评论
为什么被折叠?



