我有以下结构和定义:
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结构的List。
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的指针。
希望任何人都可以帮我创建这个结构。
答案 0 :(得分:0)
当您宣布第一个ART时,您将制作一个艺术实例。如果要创建多个,则需要malloc(sizeof(ART))来获取指向内存的指针以存储另一个实例。