Pointer+Array Frage



  • Ist ein (Dynamischer) Array mit void Pointern :
    ein Pointer auf Pointer, also

    void **array;
    

    oder einfach nur

    void *array;
    

    ???



  • Hast doch schon beantwortet. ist ein pointer auf pointer..



  • Beides, weil sich jeder Pointer in void* umwandeln läßt 🙂



  • Hmm ok, danke @Bashar, diese Tatsache hat mich nämlich echt ein wenig durcheinandergebracht 🙂



  • was mich jetzt aber noch mehr verwirrt ist das ich meinen frishen Array keine pointer zuweisen kann ...

    zB. wenn ich folgendes mache:
    dynarray = malloc(sizeof(void *)*10);

    (dynarray + 1) = &struct;

    erhalte ich einen Compile Fehler wie :
    22 D:\mingw\Projects\Test\main.c invalid lvalue in assignment

    Worauf ich hinaus will:
    Ich will eine Blibliothek schreiben mit Hilfe dessen ich mir einen dynamischen
    Array basteln kann der Pointer unterschiedlicher Datentypen zur Laufzeit aufnehmen kann. So wie das bisher immer läuft muss man ja den Datentyp zumindest mal im quellcode vor dem Kompilieren angeben, in meinen Augen ist das kein wirklich dynamischer Array ;).
    Falls ihr quellen habt die mich weiterbringen, (auch schon fertige implementierungen) nur her damit.



  • (dynarray + 1) = &struct; //?
    war da gemeint
    *(dynarray + 1) = &struct;
    ?


Anmelden zum Antworten