gpt4 book ai didi

c - 在链表中添加多条记录

转载 作者:太空宇宙 更新时间:2023-11-04 04:52:31 24 4
gpt4 key购买 nike

我基本上有两个问题。首先这段代码工作正常我只想打印结果,其次这个程序只输入一条记录。我想保存一个完整的地址簿,其中包含姓名联系人等记录。为此,我必须为每个字段提供单独的结构指针吗?请帮帮我。

#include<stdio.h>
#include<conio.h>
#include<stdlib.h>

struct node
{
int data;
struct node *link;
} *head=NULL;

void inserfirst();

int main()
{
insertfirst();
getch();
return 0;
}

void insertfirst()
{
int item;
struct node *ptr;
scanf("%d",&item);
if (head==NULL) {
head=(struct node*)malloc(sizeof(struct node));
head->data=item;
head->link=NULL;
} else {
ptr=head;
head=(struct node*)malloc(sizeof(struct node));
head->data=item;
head->link=ptr;
}
}

最佳答案

解决您的问题:

一般来说,保存多位信息(姓名、号码、地址等)的方法是将它们包含在节点结构中,例如:

struct node
{
int data;
char name[50];
char phone[20];
struct node *link;
} *head=NULL;

这是一个联系人列表,每个节点都有联系人的详细信息,列表包含多个联系人。

要打印出这样的列表,需要遍历列表并打印每个节点,具体来说:

  1. 从头开始
  2. 如果当前节点为空,那么我们就结束了,所以退出
  3. 打印当前节点的内容
  4. 将当前节点设置为下一个节点(即当前->链接)
  5. 回到第2步

关于c - 在链表中添加多条记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13775703/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com