gpt4 book ai didi

c - C中链表内部的结构

转载 作者:太空宇宙 更新时间:2023-11-04 00:54:33 25 4
gpt4 key购买 nike

我正在学习如何在 C 中实现链表。我了解普通链表的基础知识,如何添加值,如何打印它们等。但我一直在想 - 是否可以添加其他结构作为链表中的值?我的意思是:

typedef struct personal_info {
char *name;
char *surname;
int phone_number;
} Info;

typedef struct llist {
Info *info;
struct llist *next;
} List;

当我这样做时,我如何访问 Info 结构的值?

List *l;
l = malloc(sizeof(List));

l->info->name = 'name';
l->info->surname = 'surname';
l->info->phone_number = 1234567890;

代码崩溃了,所以我肯定做错了什么。您能给我一些实现该目标的提示吗?

最佳答案

您还需要为信息结构分配内存:

l = malloc(sizeof(List));
l->info = malloc(sizeof(Info));

l->info->name = "name";
l->info->surname = "surname";
l->info->phone_number = 1234567890;

关于c - C中链表内部的结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7251266/

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