打印
[STM8]

各路大神,求STM8程序解释,完全看不懂是什么用法,晕死

[复制链接]
978|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yangjingan|  楼主 | 2017-9-7 01:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
/--------函数编号枚举--------------/
typedef enum
{
        one = 0x00,
        two,
        three,
        four,

} fun_index_et;


int ( *f[] ) ( void * )=
{
        [one]=success, //success代表成功函数
        [two]=wait,  //wait代表等待函数
        [three]=fail,  //fail代表失败函数
};
沙发
mmuuss586| | 2017-9-7 10:19 | 只看该作者
这种用法也不对吧,编译好像都不能通过;

使用特权

评论回复
板凳
玄德| | 2017-9-7 11:44 | 只看该作者

定义结构体,
然后初始化。

使用特权

评论回复
地板
yangjingan|  楼主 | 2017-9-8 23:12 | 只看该作者
谢谢谢各位的解答,我找到答案了:
函数是 函数指针数组,f是一个数组,数组的内容是函数指针,分别为success, wait, fail
也就是 f[0] <- success, f[1] <- wait以此类推
{ [0]=success, [1]=wait }这种写法是c99标准中的初始化方法,等同于
int (*f[]) (void*) = {success, wait, fail};
枚举是可以直接用元素名引用的;

使用特权

评论回复
5
sdggg| | 2017-9-14 22:13 | 只看该作者
C语言真是博大精深啊

使用特权

评论回复
6
LRP103981836| | 2017-9-19 12:27 | 只看该作者
拜读!!!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

11

帖子

1

粉丝