gpt4 book ai didi

将指针复制到指针并复制结构

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

我有以下结构和定义:

    typedef struct
{
int nr;
char name[20];
} ART;


typedef struct List
{
ART Art; /* Daten des Artikels */
// Zeiger auf nächstes Listenelement
struct List *next;
} LIST;

typedef LIST *pointList;

pointList pHead = NULL;

我创建了一个 ART 结构。然后我想创建一个函数来创建一个包含许多 ART 结构的列表。

ART art;
scanf_s("%d", %art.nr);
scanf_s("%s", art.name, (int)sizeof(art.name) - 1);


LIST new;
new.Art = art;

if(pHead)
memcpy(&new.naechstes, &pHead, sizeof(LIST)); //Think its not the right one?


pointList newList = &new;


memcpy(&pHead, &newList, sizeof(LISTENELEMENT));

我的问题是,我不知道如何复制结构指针并查看它。memcpy 无法正常工作...但是如果我用指针初始化变量,它只是一个指针而没有副本。

所以目标是创建一个艺术列表,pHead 是第一个 LIST 的指针。 List 包含一个 ART 和指向下一个 Art 的指针。

希望任何人都可以帮助我创建这个结构。

最佳答案

当您声明第一个 ART 时,您创建了一个 ART 实例。如果要创建多个,则需要 malloc(sizeof(ART)) 获取指向内存的指针以存储另一个实例。

关于将指针复制到指针并复制结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33306636/

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