gpt4 book ai didi

c - 使用 strcpy() 的结构的 char 数组成员出现段错误

转载 作者:太空宇宙 更新时间:2023-11-04 02:34:51 26 4
gpt4 key购买 nike

我有一个 struct TREE 是这样定义的:

typedef struct TREE {
NODE *head;
} TREE;

和一个 struct NODE 定义为:

typedef struct NODE {
char boss[30];
char name[30];
struct NODE *firstChild;
struct NODE *secondChild;
struct NODE *thirdChild;
struct NODE *fourthChild;
} NODE;

我主要有:

TREE companyStructure;
TREE *treeptr;
treeptr = &companyStructure;
strcpy(treeptr->head->name, "Ben");

但这给了我一个段错误。有人可以帮我解释为什么会这样吗?是否有一些我没有做但我需要做的内存管理?

最佳答案

直到,

treeptr = &companyStructure;

看起来不错。但是考虑到你拥有的事实

NODE *head;

您需要为head 分配内存。所以很可能你已经错过了

treeptr->head = malloc(sizeof *treeptr->head);

做之前

strcpy(treeptr->head->name, "Ben");

另外,检查 [ this ]为什么要使用 strncat 而不是 strcpy

关于c - 使用 strcpy() 的结构的 char 数组成员出现段错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38957051/

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