找回密码
 注册
搜索
查看: 914|回复: 2

[综合资料] C程序求教

[复制链接]
发表于 2008-5-13 13:01:37 | 显示全部楼层 |阅读模式
有一段C程序求教:
先在头文件离有声明:
void  (*func)(void);  //请教这句是声明什么?

子程序中引用语句如下:
子程序
{
code void  (*ftab[])(void)={.....};    //此处声明一个表格
.
.
.
func = ftab[key];     //此处引用,不知这种句式属于什么句式?
func();                   //这句该如何理解?
}
发表于 2008-5-29 09:05:27 | 显示全部楼层
void  (*func)(void)  这句声明的是一个函数指针;
code void  (*ftab[])(void) 定义了一个函数指针的数组,即数组中的每个元素都是一个函数指针;
func=ftab[key] 是把下标为KEY的函数的首地址付给FUNC函数指针;
func()  是调用函数func(),也就是在调用*FTAB[KEY]()函数。
点评回复

使用道具 举报

 楼主| 发表于 2008-5-30 10:09:43 | 显示全部楼层
领教,谢谢。[em14]
点评回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

Archiver|手机版|小黑屋|52RD我爱研发网 ( 沪ICP备2022007804号-2 )

GMT+8, 2024-11-25 14:20 , Processed in 0.222897 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表