Fragen zum Verständnis von void



  • Hi, DirkB

    Danke für deine Antwort.

    Mit der 1. Funktion für integer habe ich zwei int-Zahlen erfolgreich getauscht, weil die Adressen von Zeiger auf Zeiger getauscht wurden.

    Die 2. Funktion für typenlose Variablen sollte auch das Gleiche machen, warum werden die Zahlen nicht getauscht?

    Danke.

    LG, Carvin



  • hanowde schrieb:

    Mit der 1. Funktion für integer habe ich zwei int-Zahlen erfolgreich getauscht

    Nein, hast du nicht. Du hast zwei Zeiger getauscht.



  • Z schrieb:

    @Husti, dass man void** irgendwie verwenden kann, war nicht meine Frage.

    Du ignorierst Dinge die ich dir schreibe um mich falsch bzw. nicht verstehen zu können. Und wenn ich dir ein Beispiel zeige nennst du es unsinnig.
    Ich glaube nicht dass ich mich weiter mit dir unterhalten muss.



  • void ist kein Variant-Typ oder ähnliches
    void ist kein Value/Storage-Type

    d.h. void nimmt keinen Platz im Speicher ein und kann auch absolut nichts speichern

    daher gibt es void nur "freistehend" als Platzhalter für Funktionen die nichts zurueckliefern, oder

    als void* - einem typenlosem Pointer auf Daten der noch nicht mal Zeigerarithmetik versteht, Zugriff auf die Daten dahinter funktioniert nur mit einem cast - weil void ja kein Typ ist

    d.h. du kann void-Zeiger herumreichen, austauschen, vergleichen, casten - aber sonst einfach gar nichts

    deine Verwendung von void* ist komisch/ungwöhnlich und Zeiger scheinen auch noch nicht wirklich deine stärke zu sein



  • @Gast3
    An wen ist dein Beitrag gerichtet?



  • @hustbaer

    an hanowde

    wenn ich seine Posts so durchlese kommt bei mir das "Gefühl" auf als wenn da jemand nicht 100% versteht wofür void da ist oder genutzt werden soll(kann)



  • Gast3 schrieb:

    wenn ich seine Posts so durchlese kommt bei mir das "Gefühl" auf als wenn da jemand nicht 100% versteht wofür void da ist oder genutzt werden soll(kann)

    Das Gefühl hatte ich schon beim Lesen des Thread-Titels ...



  • Gast3 schrieb:

    void ist kein Variant-Typ oder ähnliches
    void ist kein Value/Storage-Type

    d.h. void nimmt keinen Platz im Speicher ein und kann auch absolut nichts speichern

    daher gibt es void nur "freistehend" als Platzhalter für Funktionen die nichts zurueckliefern, oder

    als void* - einem typenlosem Pointer auf Daten der noch nicht mal Zeigerarithmetik versteht, Zugriff auf die Daten dahinter funktioniert nur mit einem cast - weil void ja kein Typ ist

    d.h. du kann void-Zeiger herumreichen, austauschen, vergleichen, casten - aber sonst einfach gar nichts

    deine Verwendung von void* ist komisch/ungwöhnlich und Zeiger scheinen auch noch nicht wirklich deine stärke zu sein

    void* speichert einfach nur adressen. typ egal.
    void** allerdings speichert zeiger auf void*, also ist wieder typisiert.
    das ist alles. ohne hustenbären-hokuspokus.



  • user02 schrieb:

    das ist alles. ohne hustenbären-hokuspokus.

    Lol.
    Du hast so keine Ahnung wie gut Hustbär ist.

    Lies einfach mit und lern.



  • s/Hustbär/hustbaer/



  • Furble Wurble schrieb:

    Du hast so keine Ahnung wie gut Hustbär ist.

    das arrogante bärli ist jedenfalls gut im schwätzen.
    darum hab ichs auch erwähnt.


Anmelden zum Antworten