Arrays automatisch erzeugen?



  • Hallo, ich möchte aus mehreren Dateien Daten einlesen & diese dann vorerst in einem Array festhalten (pro Datei ein Array). Die Dateianzahl variiert. Ist es nun möglich, dass C automatisch in Abhängigkeit der Datenanzahl Arrays für die Daten erzeugt?


  • Mod

    Ja. Entweder mit dynamischer Speicherverwaltung (malloc, free & Co.) oder ab C99 mit den (berüchtigten) variable length arrays (VLAs).

    Auch wenn VLAs für den Anfänger zunächst einfacher erscheinen mögen, bietet sich in diesem Szenario doch eher die klassische manuelle Speicherverwaltung an. Das ist aber nicht ganz einfach und jeder kleine Fehler führt zu Programmabstürzen oder, schlimmer noch, zu verstecktem Fehlverhalten, das lange nicht auffällt, bis zu dem Moment wenn es wichtig wäre, dass das Programm fehlerfrei funktioniert.

    Wie das genau funktioniert, kann man im Rahmen eines Forenbeitrags nicht erklären, Details entnimmst du aus einem guten(!) Lehrbuch.



  • C Beginner schrieb:

    Hallo, ich möchte aus mehreren Dateien Daten einlesen & diese dann vorerst in einem Array festhalten (pro Datei ein Array). Die Dateianzahl variiert. Ist es nun möglich, dass C automatisch in Abhängigkeit der Datenanzahl Arrays für die Daten erzeugt?

    Du kannst Speicher mit malloc anfordern.

    Wenn ich den Text richtig verstehe benötigst Du Speicher für ein Array mit Zeigern und jeweils ein Array pro Datei.



  • Ja das stimmt. Vielen danke, das sind schoneinmal gute Ansätze.


Anmelden zum Antworten