C语言图书链表添加节点函数详解:add_book() 函数实现
C语言图书链表添加节点函数详解:add_book() 函数实现
该函数用于向图书链表中添加新的图书节点,其参数包括指向头节点指针的指针、图书编号、图书名称和作者名字。
void add_book(Book **head, int id, char *name, char *author)
{
Book *new_book = (Book*)malloc(sizeof(Book));
new_book->id = id;
strcpy(new_book->name, name);
strcpy(new_book->author, author);
new_book->status = 0; // 初始状态为未借出
new_book->next = *head;
*head = new_book;
}
函数代码解释:
-
内存分配:
Book *new_book = (Book*)malloc(sizeof(Book));使用malloc()函数动态分配一个新的Book节点,并将其地址赋给指针new_book。 -
成员变量赋值: 将传入的参数
id、name、author分别赋值给新节点的相应成员变量:new_book->id = id;,strcpy(new_book->name, name);,strcpy(new_book->author, author);。 -
状态初始化:
new_book->status = 0;将新节点的status成员变量初始化为0,表示该图书为未借出状态。 -
连接新节点:
new_book->next = *head;将新节点的next指针指向当前链表的头节点。 -
更新头节点:
*head = new_book;将头节点指针指向新节点,完成新节点的插入操作。
总结: 该函数通过内存分配、成员变量赋值、指针连接等操作,将新的图书节点成功插入到链表的头部,实现了向图书链表添加新节点的功能。
原文地址: https://www.cveoy.top/t/topic/mpSX 著作权归作者所有。请勿转载和采集!