[STM8] STM8程序解释

[复制链接]
 楼主| huwr 发表于 2018-11-27 19:05 | 显示全部楼层 |阅读模式
/--------函数编号枚举--------------/
typedef enum
{
        one = 0x00,
        two,
        three,
        four,

} fun_index_et;


int ( *f[] ) ( void * )=
{
        [one]=success, //success代表成功函数
        [two]=wait,  //wait代表等待函数
        [three]=fail,  //fail代表失败函数
};
 楼主| huwr 发表于 2018-11-27 19:07 | 显示全部楼层
这种用法也不对吧,编译好像都不能通过;
happy_10 发表于 2018-11-27 19:09 | 显示全部楼层

定义结构体,
然后初始化。
songqian17 发表于 2018-11-27 19:11 | 显示全部楼层
函数是 函数指针数组,f是一个数组,数组的内容是函数指针,分别为success, wait, fail
也就是 f[0] <- success, f[1] <- wait以此类推
{ [0]=success, [1]=wait }这种写法是c99标准中的初始化方法,等同于
int (*f[]) (void*) = {success, wait, fail};
枚举是可以直接用元素名引用的;
juventus9554 发表于 2018-11-27 19:12 | 显示全部楼层

C语言真是博大精深啊
 楼主| huwr 发表于 2018-11-27 19:14 | 显示全部楼层

哦,那我就知道怎么回事了,多谢大家,结贴了哈
huangcunxiake 发表于 2018-11-27 22:54 | 显示全部楼层
这写法就不对,你先知道枚举是什么
晓伍 发表于 2018-12-4 10:07 | 显示全部楼层
C语言功底不够啊
八层楼 发表于 2018-12-4 10:34 | 显示全部楼层
貌似不符合语法啊
观海 发表于 2018-12-4 10:38 | 显示全部楼层
不可以这样写  但是你的想法对
guanjiaer 发表于 2018-12-4 12:34 | 显示全部楼层
好像你的错处好多啊
tpgf 发表于 2018-12-4 12:41 | 显示全部楼层
错误好多 还是好好看看C语言程序设计吧啊
木木guainv 发表于 2018-12-4 13:42 | 显示全部楼层
语法错误  呵呵
您需要登录后才可以回帖 登录 | 注册

本版积分规则

780

主题

8627

帖子

5

粉丝
快速回复 在线客服 返回列表 返回顶部