给下面的C语言添加详细的注释int Menu_Taskvoid int i; MenuList_t pMenuList; MenuShow_t tMenuShow; if sg_tMenuManagepMenuCtrl == NULL return -1; if sg_tMenuManagepMenuCtrl-pMenuList != N
int Menu_Task(void)
{
int i; // 用于循环计数的变量
MenuList_t *pMenuList; // 指向菜单列表的指针
MenuShow_t tMenuShow; // 菜单显示结构体的实例
if (sg_tMenuManage.pMenuCtrl == NULL) // 如果菜单控制结构体为空
{
return -1; // 返回错误代码-1
}
if (sg_tMenuManage.pMenuCtrl->pMenuList != NULL) // 如果菜单控制结构体中的菜单列表不为空
{
pMenuList = sg_tMenuManage.pMenuCtrl->pMenuList; // 将菜单控制结构体中的菜单列表赋值给pMenuList
tMenuShow.itemsNum = sg_tMenuManage.pMenuCtrl->itemsNum; // 将菜单控制结构体中的菜单项数量赋值给tMenuShow的itemsNum
tMenuShow.selectItem = sg_tMenuManage.pMenuCtrl->selectItem; // 将菜单控制结构体中的选中项索引赋值给tMenuShow的selectItem
tMenuShow.showBaseItem = sg_tMenuManage.pMenuCtrl->showBaseItem; // 将菜单控制结构体中的显示起始项索引赋值给tMenuShow的showBaseItem
if (sg_tMenuManage.isEnglish) // 如果当前语言为英文
{
tMenuShow.pszDesc = sg_tMenuManage.pMenuCtrl->pszEnDesc; // 将菜单控制结构体中的英文描述赋值给tMenuShow的pszDesc
for (i = 0; i < tMenuShow.itemsNum && i < MENU_MAX_NUM; i++) // 遍历菜单项
{
tMenuShow.pszItemsDesc[i] = (char *)pMenuList[i].pszEnDesc; // 将菜单列表中的英文描述赋值给tMenuShow中相应索引的pszItemsDesc
tMenuShow.pItemsExData[i] = pMenuList[i].pExtendData; // 将菜单列表中的扩展数据赋值给tMenuShow中相应索引的pItemsExData
}
}
else // 如果当前语言为其他语言
{
tMenuShow.pszDesc = sg_tMenuManage.pMenuCtrl->pszDesc; // 将菜单控制结构体中的描述赋值给tMenuShow的pszDesc
for (i = 0; i < tMenuShow.itemsNum && i < MENU_MAX_NUM; i++) // 遍历菜单项
{
tMenuShow.pszItemsDesc[i] = (char *)pMenuList[i].pszDesc; // 将菜单列表中的描述赋值给tMenuShow中相应索引的pszItemsDesc
tMenuShow.pItemsExData[i] = pMenuList[i].pExtendData; // 将菜单列表中的扩展数据赋值给tMenuShow中相应索引的pItemsExData
}
}
if (sg_tMenuManage.pMenuCtrl->pfnShowMenuFun != NULL) // 如果菜单控制结构体中的显示菜单函数指针不为空
{
sg_tMenuManage.pMenuCtrl->pfnShowMenuFun(&tMenuShow); // 调用显示菜单函数,传入tMenuShow结构体的地址
}
sg_tMenuManage.pMenuCtrl->showBaseItem = tMenuShow.showBaseItem; // 将tMenuShow中的showBaseItem赋值给菜单控制结构体中的showBaseItem
}
if (sg_tMenuManage.pMenuCtrl->pfnRunCallFun != NULL) // 如果菜单控制结构体中的运行回调函数指针不为空
{
sg_tMenuManage.pMenuCtrl->pfnRunCallFun(); // 调用运行回调函数
}
return 0; // 返回成功代码0
}
``
原文地址: http://www.cveoy.top/t/topic/iWno 著作权归作者所有。请勿转载和采集!