怎么理解一下句子: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 關注
- 460 瀏覽
添加回答
舉報
0/150
提交
取消