怎么理解一下句子:1,extern void run(void (*ptask)());2,void run(void (*ptask)()){(*ptask)();}3,void (* code task[])() = {task0,task1,task2,task3};4,while(1){for(i=0;i<MAX_TASK;i++)if (task_delay[i]==0) {run(task[i]); break;}}
2 回答
幕布斯6054654
TA贡献1876条经验 获得超7个赞
1,extern void run(void (*ptask)()); //一个外部函数run,他的参数是函数指针ptask,ptask的类型是无参数无返回值的函数指针
2,void run(void (*ptask)()) //run函数的定义,调用函数指针ptask所指向的函数。
{
(*ptask)();
}
3,void (* task[])() = {task0,task1,task2,task3}; //函数指针数组task, 应该去掉code
4,
while(1)
{
for(i=0;i<MAX_TASK;i++)
if (task_delay[i]==0) {run(task[i]); break;} //循环将task数组中的值传递给run函数
}
- 2 回答
- 0 关注
- 399 浏览
添加回答
举报
0/150
提交
取消