[C] array of array of char

  • ich fange grade erst an mit c und hab noch so meine probleme damit :). ich würde gerne ein array of strings erstellen. wieviele strings ich habe und wie lang diese sind, weiß ich zu beginn aber noch nicht, da sie von der eingabe abhängen.
    zählen kann ich sie dann recht leicht (sind eingaben, die mit ',' getrennt sind) und trennen auch mit strtok.

    ich wollte mir mit malloc speicher für soundsoviele pointer auf char reservieren lassen, wie ich eben gezählt hab. jetzt würd ich gerne wissen, wie ich das am besten mache (bzw wies besser anders geht).

    malloc möchte ja ne größe haben (also zum beispiel 10*sizeof(int) für 10 integer variablen. aber wie wär das dann in meinem fall? den typ pointer gibts ja nicht. eigentlich würde ich ja dann auch nicht die pointer selbst sondern die adressen speichern, die auf die strings zeigen. aber wieviel speicher muss ich da reservieren und welchen typ hat die variable, die sich die adresse merkt... ?

    vielleicht kann mir wer helfen, sollte ja für einen c-kenner kein problem sein.

    thx,

  • ich denke, was du suchst ist sizeof(int *), also die Größe eines Pointers (was ja gleich der Größe einer Speicheraddresse ist). Reservieren musst du je nach Programm unterschiedliches, in deinem Fall vermute ich:
    1) Platz für die Pointer (evtl. hilft da realloc())
    2) Platz für die Strings (klassisches malloc())

    Ahja, klassisches Beispiel für char ** (also beliebig viele beliebig lange Strings) ist argv, der zweite Aufrufparameter von main(), vielleicht hilft dir das was...

    Why bother spending time reading up on things? Everybody's an authority, in a free land.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!