2016-04-19 11 views
-2

Ich versuche eine verknüpfte Liste zu erstellen, die Daten enthält, die auf eine Struktur verweisen, aber beim Erstellen eines Knotens Probleme haben.Verknüpfte Liste von Strukturen in c

typedef struct n_data{ 
    char name[16]; 
    int integer; 
} DATA; 

typedef struct node{ 
    DATA * data; 
    struct node *next; 
} NODE; 

typedef struct{ 
    int num; 
    NODE *head; 
}ROOT; 

Ich habe die Funktion make-Knoten, einen Knoten zurückgibt, die Daten aufweist, die eine Datenstruktur zeigt:

NODE *makeNode(DATA *d){ 
    NODE *temp; 
    temp = (NODE*)malloc(sizeof(NODE)); 
    if(temp != NULL){ 
     temp->data= d; 
     temp->next = NULL; 
    } 
    return temp; 
} 

Und mein Haupt sieht etwas wie folgt aus:

int main(){ 
    DATA* newdata=(DATA*)malloc(sizeof(DATA)); 
    strcpy(newdata->name,"Hello"); 
    newdata->integer=7; 

    NODE * temp; 
    temp = make_node(newdata); 
} 

I bekomme Fehler

Warnung: Zuweisung macht Zeiger aus Ganzzahl ohne Besetzung [standardmäßig aktiviert]

Ich bin mir nicht sicher, was ich falsch mache, also kann mir jemand dabei helfen?

+1

Auf welcher Linie? – user3386109

+0

In der Hauptsache, temp = make_node (newdata); – Darklink9110

+5

'make_node'! =' MakeNode'. – WhozCraig

Antwort

0

Es ist ein Fehler im Code

Änderungslinie temp = make_node(newdata); zu temp = makeNode(newdata);