一、单链表结构定义
typedef void(myOpFunType)(void*); ///< 定义操作函数类型
typedef int linkType; ///< 定义链表结点数据域数据类型
/// @brief 链表结点定义
typedef struct t_linkNode
{
struct t_linkNode* pnext; ///< 结点指针域
linkType data; ///< 结点数据域
}myLNode;
/// @brief 链表结构定义
typedef struct t_linkList
{
myLNode* phead; //< 链表头结点
}myLinkList;
二、初始化单链表
/// @mybrief 初始化单链表
/// @param plist:链表结构指针
/// @return status:返回初始化结果
/// @retval ERROR(0):链表不存在,不可操作
/// @retval ERR_OVERFLOW(-2):创建头结点失败,初始化失败
/// @retval OK(1):初始化成功
/// @attention 内部实现函数的开参是二指指针
status xxx_init(myLinkList* plist)
{
if (plist == NULL)
{
return ERROR;
}
return xxx_init_(&plist->phead);
}
status xxx_init_(myLNode** phead)
{
/// 创建头结点
myLNode* p = (myLNode*)malloc(sizeof(myLNode));
if (p == NULL)
{
return ERR_OVERFLOW;
}
memset(p, 0, sizeof(p));
p->pnext = NULL;
*phead = p;
return OK;
}
标签:初始化,结点,单链,return,myLNode,链表 From: https://www.cnblogs.com/kxwslmsps/p/17120544.html