C Zeiger auf Struct zurückgeben

atreju2oo0

Grünschnabel
Hallo erstmal...

Ich bin neu hier und werd mal versuchen den Regeln entsprechend meine Frage zu stellen.
Natürlich habe ich schon die Suche genutzt, aber irgendwie qualmt mein Kopf und ich seh die Sternchen vor lauter Sternchen nicht :rolleyes:

Also:
Ich nutze diese beiden Typ-Definitionen für meine Liste...

typedef struct Eintrag
{ char Name[30];
char VorName[30];
char Vorwahl[10];
char Nummer[10];
} Eintrag;

typedef struct Liste
{ struct Liste* next;
Eintrag* inhalt;
} Liste;

Als nächstes reserviere ich mir Speicher für meine Liste mit:
List=(Liste*) malloc(sizeof(Liste));

Nun kommt die spannende Frage:
Ich will List->inhalt mit Hilfe einer Funktion füllen.
Meine Funktion:
Eintrag* AddData(char helpString[200])
{
// Fügt die Daten ins Telefonbuch ein
Eintrag* myEintrag = (Eintrag*) malloc(sizeof(Eintrag));
Eintrag->Name="Test"
usw....
return myEintrag;
}

Da die Funktion den selben Typ zurückgibt wie ich ihn in der Struct definiert hab (meiner Meinung nach nen Zeiger auf den mit malloc reservierten Speicher) denk ich richtig zu liegen... Leider meint mein Compiler, dass ich versuche nen Integer in nen Pointer ohne Cast zu verwandeln...

Ich hab jetzt schon den halben Tag damit zugebracht und mitlerweile alle Möglichkeiten probiert... (bis auf die richtige)

Ich hoffe hier kann mir jemand das Brett vorm Kopf entfernen...
 
Hi.

Anscheinend versuchst du die Funktion aufzurufen bevor du sie deklariert hast.

Ansonsten solltest du möglichst kompletten Beispielcode hier einfügen. Und bitte poste den Code als Code (am besten mit passendem Code Tag) und nicht als Zitat.

Gruß
 
Du glaubst nicht wie ich gerade mit meinem Kopf aufn Tisch hämmer...

Vielen Dank für die Hilfe...

P.S: Werd beim nächsten Mal Code-Tags benutzen...
 
Zurück