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

时间:2015-10-23 15:52:34

标签: c pointers

我有以下结构和定义:

    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的指针。

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

1 个答案:

答案 0 :(得分:0)

当您宣布第一个ART时,您将制作一个艺术实例。如果要创建多个,则需要malloc(sizeof(ART))来获取指向内存的指针以存储另一个实例。

相关问题