Frage von Alinchen24, 72

Struct dem Unterprogramm übergeben in C?

Hallo, ich möchte im Unterprogramm meinen Struct ausgeben , weiß aber nicht was ich in die klammern schreiben soll bzw wie ich das programm zum laufen birnge. Ohne unterprogramm funktioniert alles. LG ALina

include

include

include

//bekommt pointer übergeben und gibt zeilen aus

int print_student(Student *Person){

printf("%s", (*Person).vorname);

return 0;

}

typedef struct Student {

int Matrikelnummer;

char *vorname;

char *nachname;

}Student;

int main(){

Student *Person;

Person = (Student *) malloc (sizeof(Student));

(*Person).vorname = "Max";

(*Person).nachname = "Mustermann";

(*Person).Matrikelnummer =123456;

print_student(&Student *Person);

return 0;

}

Hilfreichste Antwort - ausgezeichnet vom Fragesteller
von MogelHans, 29

Struktur muss bekannt sein, bevor man diese verwendet.

Wenn du mit Zeigern arbeitest, verwende den richtigen Operator.

Wenn deine Funktion einen Zeiger verwenden, übergibst du einfach den Zeiger.

Wenn du Speicher allokierst, musst du diesen auch wieder frei geben.

http://pastebin.com/XNverdfN

Antwort
von Minihawk, 53

War das bei Pointern nicht mit pointer->Wert ? Also den Zeiger ohne Stern, Minus Größer und dann das Strukturelement.

Keine passende Antwort gefunden?

Fragen Sie die Community