(ANSI C) array dynamisch erweitern



  • hallo zusammen,

    ich möchte ein array zur laufzeit erweitern. weil die anzahl der möglichen "längen" unbekannt ist.

    pseudo code:


    eingabe[x + 1] = eingabe länge (abbruch mit enter)

    oder weis jemand eine bessere methode.

    mfg



  • versuch es mal mit malloc & realloc!

    Syntax

    #include <stdlib.h>
    void *realloc(void *block, size_t size);

    Beschreibung

    Ändert die Größe eines reservierten Blocks im Hauptspeicher.
    realloc verändert die Größe eines zuvor reservierten Speicherblocks auf size Bytes. Enthält size den Wert NULL, so wird der Speicherblock freigegeben und NULL
    zurückgeliefert. block muß auf die Startadresse eines Speicherblocks zeigen, der zuvor mit einem Aufruf von malloc, calloc oder realloc ermittelt wurde. Wenn block ein
    NULL-Zeiger ist, verhält sich realloc wie malloc.
    realloc ändert die Größe des reservierten Speicherblocks und kopiert dazu den Blockinhalt an eine neue Adresse, falls nötig.

    Rückgabewert

    realloc gibt die neue Adresse des Speicherblocks zurück, die von der bisherigen Adresse abweichen kann.
    Ist die Größenänderung nicht möglich, gibt realloc NULL zurück.

    Falls der Wert von size 0 ist, wird der Speicherblock freigegeben und realloc gibt NULL zurück.

    mfg
    -bg-



  • Klingt nach Standard-C?

    MfG SideWinder


Log in to reply