说明:
1.函数指针在结构体中使用;
2.函数指针以及建表后的用法;
3.在Borland C++ 4.5中编译通过;
注意的几点:
1.代码中的变量一定要定义成函数指针才能读表;
2.定义的函数于建立的结构体表中的成员指针函数要对应,特殊是参数;
不对应则编译不能通过;
// Borland C++ - (C) Copyright 1991, 1992 by Borland International
/* HELLO.C -- Hello, world */
#include <stdio.h>
extern void ParaDeal_n000(void); // 声明函数
struct sFun // 定义结构类型
{
void (* Fun)(void);
unsigned long a;
unsigned long b;
};
struct sFun TB_FUN[] = // 建表;
{//
ParaDeal_n000, 0x00000000, 0x00000000,
// 函数名;
0x00000000, 0x00000000, 0x00000000
};
void ParaDeal_n000(void) // 函数实体;
{
unsigned int a;
a=1;
a=0;
}
int main()
{
void (* pfun)(void); // 定义函数指针
pfun = TB_FUN[0].Fun; // 读函数地址;
if(pfun != 0)
{
(* pfun)(); // 执行函数;
}
return 0;
}