c语言基于链式存储结构的图书信息表的创建和输出
时间: 2024-09-28 15:11:54 浏览: 45
在C语言中,我们可以使用链表数据结构来创建一个简单的图书信息表。链表非常适合用来表示动态大小的数据集合,每个节点可以包含书籍的信息(如书名、作者、ISBN等),并通过指针链接到下一个节点。
首先,我们定义一个链表节点结构体(BookNode):
```c
typedef struct {
char bookTitle[50];
char author[50];
int isbn;
struct BookNode* next; // 指向下一个节点的指针
} BookNode;
```
接着,我们需要一个头结点(head)来管理整个链表:
```c
BookNode* head = NULL;
```
创建新节点的函数可以这样编写:
```c
void createNewBook(BookNode** head, char title[], char author[], int isbn) {
BookNode* newNode = (BookNode*)malloc(sizeof(BookNode));
if (newNode != NULL) {
strncpy(newNode->bookTitle, title, sizeof(newNode->bookTitle) - 1);
strncpy(newNode->author, author, sizeof(newNode->author) - 1);
newNode->isbn = isbn;
newNode->next = *head;
*head = newNode;
}
}
```
最后,我们可以定义一个遍历并输出链表的函数来显示所有图书信息:
```c
void displayBooks(BookNode* node) {
while (node != NULL) {
printf("书名: %s\n", node->bookTitle);
printf("作者: %s\n", node->author);
printf("ISBN: %d\n", node->isbn);
node = node->next;
}
}
```
使用这些函数,你可以创建新的图书节点,并通过`displayBooks(head)`来打印它们。如果你想要插入或删除图书,还需要额外的添加和删除节点的函数。
阅读全文