Linked List, Implementation

Gast #2570090
Lesenswert?

Hallo,

wie implementiere ich in reinem C das Aufbauen einer verketteten Liste? 
Kann ich für jedes neue Element malloc() aufrufen, auch wenn das nur ein 
paar Byte sind? Oder ist da der Overhead für die Speicherverwaltung zu 
groß? Wie macht man das eigentlich sonst?

Dank und Gruß,
Matze
#2570095
Lesenswert?

Matze schrieb:
> wie implementiere ich in reinem C das Aufbauen einer verketteten Liste?

Schon mal nachgesehen wie viele Treffer das in Google ergibt?

Matze schrieb:
> Kann ich für jedes neue Element malloc() aufrufen, auch wenn das nur ein
> paar Byte sind?
So macht man das normal. Welche Alternative hast du denn?

Matze schrieb:
> Oder ist da der Overhead für die Speicherverwaltung zu
> groß?
Wie groß ist der Overhead? Ein Zeiger auf das nächste Element, plus das 
was das Memory Management braucht.
Die Frage ist doch bringt dich das in irgendeine Not wegen Speicher?

Matze schrieb:
> Wie macht man das eigentlich sonst?
Man alloziert einen großen Block und schreibt siche eine eigene 
(bessere?) Speicherverwaltung.
Gast #2570101
Lesenswert?

Linked lists, und das in C :staun: Das sind natürlich die allerneuesten 
design patterns aus der Informatik-Hexenküche, dazu findet man (und 
google) kaum weiterführende Informationen, ist ja alles noch nie 
dagewesen ;)

Speicheranforderungen zur Laufzeit brauchen in C nunmal entweder malloc, 
oder du schreibst dir selber einen eigene Spiecherverwaltung, die für 
deine spezielle Datengröße effektiver ist. Ich würde aber mal mit malloc 
anfangen ;)

Oliver

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren