Dynamische Felder

Neue Frage »

Eisloeffel Auf diesen Beitrag antworten »
Dynamische Felder
Ich habe da mal eine Frage, kann mir mal jemand erklären, was der unterschied zwischen dynamischen Felder und normalen Feldern bei der C-Programmierung ist?
Ich muss ein Sortierprogramm schreiben mit dynamischen Feldern und habe keine Ahnung obs da unterschiede gibt. Wenn ja, könntet ihr mir das ein einem Beispiel mal begreiflich machen? wäre nett ...
:]
Mazze Auf diesen Beitrag antworten »

größe im Speicher bei dynamischen Feldern sind erst während der Laufzeit bekannt, während bei "normalen" (statischen) Feldern der speicher bereits zu compilierungszeit festgesetzt wird. Zumindest ist das ein gängiges Verfahren, ich schätze mal du wirst (wie in jeder imperativen Programiersprache) Speicherzuweisungs- und löschungsroutinen einbauen müssen, also den Feldern dynamsich speicher zuweisen. Ich hab nicht so viel ahnung was Felder in C angeht aber normal is des überall gleich.
Eisloeffel Auf diesen Beitrag antworten »

Ahja okay ich danke... na mal sehn ob ich das hinbekomme! verwirrt
Mazze Auf diesen Beitrag antworten »

das klingt schwerer als es ist

in java wird dafür der new operator benutzt, der glaub ich auch in c genutzt wird.

int[] i= new int[n]; würde mir in java ein feld der länge n erzeugen wobei new dann den speicher reserviert. Vorteil ist klar, ich kann zur laufzeit entscheiden wie groß es ist, im allgemeinenwerden dann aber die zugriffsroutinen etwas komplexer.

(siehe liste darsgestellt im array oder per pointer)
Poff Auf diesen Beitrag antworten »

Im Prinzip ist es genau so wie Mazze es beschrieben hat und es ist
auch genau dazu da den Bedarf an den gerade aktuellen Not-
wendigkeiten ausrichten zu können.

Dies erzwingt natürlich auch nachfolgende Freigabeanweisungen
wenn der Speicherplatz nicht mehr benötigt wird.

Wie die Anweisungen insgesamt genau lauten kann ich nicht sagen,
auch nicht wie solch ein Platz am einfachsten zu strukturieren ist,
sondern nur dass es 'C .. typisch' eine Menge verschiedener
Varianten dazu geben dürfte, je nachdem wie einfach oder
übersichtlich man es haben will.



smile
Neue Frage »
Antworten »



Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »