请教一个51单片机C语言问题

[复制链接]
1934|1
 楼主| lsddata 发表于 2011-6-5 12:42 | 显示全部楼层 |阅读模式
现在学51的实时系统,有一个C语言问题:
void (*(task[]))()={task0,task1,task2,task3};
请教高人:void (*(task[]))()定义的是函数,后面为什么又能像数组一样赋值?
主函数中是这样调用的: if(task_delay[i]==0) {run(task[i]);break;}
谁能讲解一下
void (*(task[]))()={task0,task1,task2,task3}; 是什么意思?
奇门遁甲 发表于 2011-6-5 15:23 | 显示全部楼层
void (*(task[]))() 是函数数组,每个组员是一个函数指针

task[0]();  等同于 task0();  即调用task0
task[1]();  等同于 task1();  即调用task1
您需要登录后才可以回帖 登录 | 注册

本版积分规则

8

主题

94

帖子

1

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