首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

有个构造体看不懂

2012-09-28 
有个结构体看不懂1、typedef s8(*fl_cmdhandle)(u8 *data,t_curcmd *curcmd)typedef struct attab{u8* cmd

有个结构体看不懂
1、
typedef s8(*fl_cmdhandle)(u8 *data,t_curcmd *curcmd);

typedef struct attab
{
  u8* cmd;
  fl_cmdhandle hd;
}t_attab; 

我能看得懂 typedef int INT;
也能看得懂 
typedef struct attab
{
  u8* cmd;
  // fl_cmdhandle hd;
}t_attab; 


但是看不懂
typedef s8(*fl_cmdhandle)(u8 *data,t_curcmd *curcmd);

typedef struct attab
{
  u8* cmd;
  fl_cmdhandle hd;
}t_attab;

[解决办法]
typedef s8(*fl_cmdhandle)(u8 *data,t_curcmd *curcmd);
应该是定义一个函数指针 
typedef struct attab
{
u8* cmd;
fl_cmdhandle hd;
}t_attab;

不就是普通的typedef吗
[解决办法]
函数指针
[解决办法]
typedef s8(*fl_cmdhandle)(u8 *data,t_curcmd *curcmd);

重命名一种函数指针为fl_cmdhandle,这种指针指向这样一种函数:函数的输入参数列表为“u8 *data,t_curcmd *curcmd”,返回值为“s8”
使用函数指针可以动态决定使用哪个函数来处理相应的情况
它可以说是C++中的虚函数等等动态机制的基础
[解决办法]
我也觉得是定义了函数指针,该函数返回s8,参数为u8 *data,t_curcmd *curcmd。新类型名为fl_cmdhandle。
你以后就可以把它当新类型用了。比如:
fl_cmdhandle f=NULL;
则f就是符合上述描述的函数指针了。

热点排行