gpt4 book ai didi

c - 带指针的嵌套结构

转载 作者:行者123 更新时间:2023-11-30 17:13:50 26 4
gpt4 key购买 nike

我会试着简短地问一下。我有一个嵌套结构,第一个用于文档,第二个用于包含多个文档的文件夹,这样:

 typedef struct document
{
char *docName;
int linesAmountInDoc;
char **docContent;
}Document;

typedef struct folder
{
char folderName[20];
struct document *docs;
}Folder;

假设我已经有几个文档名称,例如: doc1 、 doc2 等。我如何将这些文档名称分配给文件夹?我尝试过这样的事情:

int i;
Folder *fold=(Folder *)malloc(sizeof(struct folder));
for(i=0;i<5;i++)
strcpy(fold->docs[i].docName, copyDoc->docName); //access violation

但它不起作用。我收到消息访问冲突。有什么建议吗?

最佳答案

这是因为即使在 Folder *fold=(Folder *)malloc(sizeof(structfolder)); 之后,docContent 仍为 null

有几种方法可以解决这个问题,最简单的是:

Folder *fold = (Folder *)malloc(sizeof(struct folder));
fold->docs = malloc(sizeof(struct document));
fold->docs[0] = copyDoc;

非常脏的修复,没有使用数组。

关于c - 带指针的嵌套结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30578716/

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