为了账号安全,请及时绑定邮箱和手机立即绑定

麻烦帮忙看一下下面的例子,是关于指针函数&函数指针的一些问题!求大家帮帮忙!

麻烦帮忙看一下下面的例子,是关于指针函数&函数指针的一些问题!求大家帮帮忙!

慕斯王 2021-07-20 20:15:54
怎么理解一下句子: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函数

}

查看完整回答
反对 回复 2021-07-29
  • 2 回答
  • 0 关注
  • 399 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信