C语言语句分析

2019-07-20 02:41发布

typedef struct IMainTask
{
    void (*RunMainTask)(struct IMainTask* pThis, SerialPortBase* pSerialPort);
    BaseTask* pBaseTask;
} IMainTask;
IMainTask* GetMainTask(const uint8_t* msgs){...}

IMainTask* pMainTask = GetMainTask(msgs);
pMainTask->RunMainTask(pMainTask, pSerialPort);

1)pMainTask是指向IMainTask的,函数GetMainTask(msgs)返回应该是地址值,是把一个地址给了这结构体吗?
2)pMainTask->RunMainTask(pMainTask, pSerialPort); 中pMainTask可以访问RunMainTask?怎么理解 pMainTask又指回了自己IMainTask?

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。