ssis909 发表于 2013-4-12 17:29:44

求指导:水平有限,几句C代码,看的不是很明白

本帖最后由 ssis909 于 2013-4-12 17:31 编辑

这是看到网上一种FSM(有限状态机)的数据结构定义,不是很明白,求讲解:
typedef                void (*state)(FSM *me,unsigned char sig);
//
struct FSM
{
        state state_;
};
//
#define        FSMDispatch(me_,sig_)                ((*(me_)->state_)((me_),sig_))
//
#define        TRANS(target_)        (((FSM *)me)->state_ = (state)(target_))
//

duanll 发表于 2013-4-12 19:43:30

定义:
一个函数指针
一个结构变量

宏:
一个类似消息分发的宏
一个消息传递的宏

ssis909 发表于 2013-4-12 22:33:28

本帖最后由 ssis909 于 2013-4-12 22:41 编辑

duanll 发表于 2013-4-12 19:43 static/image/common/back.gif
定义:
一个函数指针
一个结构变量


我不明白的地方是前两句,它们在定义的时候互相包含引用,这是怎么回事呢???

duanll 发表于 2013-4-12 22:57:36

标准的函数指针定义方式吧。。
页: [1]
查看完整版本: 求指导:水平有限,几句C代码,看的不是很明白