C语言链表添加书籍节点代码解析 - void add_book() 函数
C语言链表添加书籍节点代码解析 - void 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;
}
代码解释:
1. 函数参数:
- **Book head: 指向指针的指针,表示指向书籍链表头部节点的指针。使用双重指针是为了修改传入链表的头部指针。
- int id: 新书籍的 id。
- *char name: 新书籍的名称。
- *char author: 新书籍的作者。
2. 内存分配:
Book *new_book = (Book*)malloc(sizeof(Book));使用malloc()函数为新的书籍节点分配内存空间,并将其类型转换为Book类型。
3. 属性设置:
new_book->id = id;: 设置新书籍节点的 id 属性。strcpy(new_book->name, name);: 使用strcpy()函数将传入的书籍名称复制到新书籍节点的name属性。strcpy(new_book->author, author);: 使用strcpy()函数将传入的书籍作者复制到新书籍节点的author属性。new_book->status = 0;: 设置新书籍节点的status属性为 0,表示初始状态为未借出。
4. 链表操作:
new_book->next = *head;: 将新书籍节点的next属性指向已有的书籍链表头部节点,将新节点插入到链表的头部。*head = new_book;: 将传入的指针head指向新的书籍节点,表示新的节点成为了链表的头部节点。
总结: 通过以上步骤,新的书籍节点就被成功地添加到了书籍链表中。
原文地址: https://www.cveoy.top/t/topic/mpTG 著作权归作者所有。请勿转载和采集!