怎么理解一下句子: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條經(jīng)驗 獲得超7個贊
1,extern void run(void (*ptask)()); //一個外部函數(shù)run,他的參數(shù)是函數(shù)指針ptask,ptask的類型是無參數(shù)無返回值的函數(shù)指針
2,void run(void (*ptask)()) //run函數(shù)的定義,調(diào)用函數(shù)指針ptask所指向的函數(shù)。
{
(*ptask)();
}
3,void (* task[])() = {task0,task1,task2,task3}; //函數(shù)指針數(shù)組task, 應(yīng)該去掉code
4,
while(1)
{
for(i=0;i<MAX_TASK;i++)
if (task_delay[i]==0) {run(task[i]); break;} //循環(huán)將task數(shù)組中的值傳遞給run函數(shù)
}
- 2 回答
- 0 關(guān)注
- 456 瀏覽