Hallo Zusammen,
habe schon viele Threads zu dem Thema durchforstet, aber keiner beantwortet mir meine realtiv grundlegenden Fragen.
ich schreibe zur Zeit ein Programm, in dem ich meine Ausgaben für Benzin archivieren möchte. Dazu nehme ich eine einfach verkettete Liste. Eine Struktur liefert die benötigten Variablen wie z.b. eine fortlaufende ID für jede Tankfüllung, den Namen der Tankstelle usw.
Ich erstelle noch eine 2. Struktur, von der ich aber nur ein Objekt ableiten muss, da diese nur 3 Zeiger enthält. Einer zeigt auf das erste Element der Liste, einer dient als "cursor", einer zeigt auf das letzte Element der Liste.
Ich habe bisher kein Problem mit der Definition der Strukturen.
Jetz soll das Programm natürlich eine Funktion bieten, die einen neuen Datensatz mit den Benutzer eingaben erstellt.
Frage1: Welchen Datentyp muss diese Funktion zurückliefern? Wie sieht die allgemeine Funktionsdefinition aus, wenn diese mit Strings und Strukturen umgehen soll.
Frage2: Ich habe in vielen Programmen gesehen dass eine neu deklarierte Variable einer struktur (also ein neues Element in diesem Fall) = malloc(sizeof(name der struktur) gesetzt wird. Angeblich zur dynamischen Speicherallokation. Ich habe doch aber schon in der Struktur festgelegt, wie groß der Platz für die einzelnen Datenfelder eines Elements sein soll. Warum braucht man malloc, wenn zu dem Zeitpunkt, wo malloc benutzt wird, keine anderen Informationen über den Speicherbedarf vorliegen, als die, die in der Struktur hinterlegt sind? (Also keine Benutzereingaben vorhanden)
Frage 3: Ich habe in vielen Programmen gesehen,dass neue Objekte einer Struktur als Zeiger, und nicht als einfache Variable des Strukurtyps deklariert werden. Warum?
Zur Sicherheit anbei nochmal meine Strukturen:
Alles anzeigen
vielenvielenDank im vorraus und schöne Grüße
habe schon viele Threads zu dem Thema durchforstet, aber keiner beantwortet mir meine realtiv grundlegenden Fragen.
ich schreibe zur Zeit ein Programm, in dem ich meine Ausgaben für Benzin archivieren möchte. Dazu nehme ich eine einfach verkettete Liste. Eine Struktur liefert die benötigten Variablen wie z.b. eine fortlaufende ID für jede Tankfüllung, den Namen der Tankstelle usw.
Ich erstelle noch eine 2. Struktur, von der ich aber nur ein Objekt ableiten muss, da diese nur 3 Zeiger enthält. Einer zeigt auf das erste Element der Liste, einer dient als "cursor", einer zeigt auf das letzte Element der Liste.
Ich habe bisher kein Problem mit der Definition der Strukturen.
Jetz soll das Programm natürlich eine Funktion bieten, die einen neuen Datensatz mit den Benutzer eingaben erstellt.
Frage1: Welchen Datentyp muss diese Funktion zurückliefern? Wie sieht die allgemeine Funktionsdefinition aus, wenn diese mit Strings und Strukturen umgehen soll.
Frage2: Ich habe in vielen Programmen gesehen dass eine neu deklarierte Variable einer struktur (also ein neues Element in diesem Fall) = malloc(sizeof(name der struktur) gesetzt wird. Angeblich zur dynamischen Speicherallokation. Ich habe doch aber schon in der Struktur festgelegt, wie groß der Platz für die einzelnen Datenfelder eines Elements sein soll. Warum braucht man malloc, wenn zu dem Zeitpunkt, wo malloc benutzt wird, keine anderen Informationen über den Speicherbedarf vorliegen, als die, die in der Struktur hinterlegt sind? (Also keine Benutzereingaben vorhanden)
Frage 3: Ich habe in vielen Programmen gesehen,dass neue Objekte einer Struktur als Zeiger, und nicht als einfache Variable des Strukurtyps deklariert werden. Warum?
Zur Sicherheit anbei nochmal meine Strukturen:
Quellcode
vielenvielenDank im vorraus und schöne Grüße