Probleme mit VOID-Zeiger



  • Hallo,

    gerade habe ich folgenden Code kompilieren können, welcher in meinem Programm in ähnlicher Form auftauch:

    int test1[2][2] = {0};
    int (*test2)[2] = test1;
    void *test3 = test2;
    int (*test4)[2][2] = test3;
    

    Eigentlich ist test1 noch ein Zeiger auf ein eindimensionales Array. Wie man aber in der letzten Zeile sieht ist test3 auf einmal ein Zeiger auf ein zweidimensionales Array. Eigentlich hätte ich erwartet, dass test3 wieder ein Zeiger auf ein eindimensionales Array wäre. Könnt ihr mir das erklären?

    Gruß



  • void-Zeiger können beliebig in andere Zeigertypen und zurück konvertiert werden, der Code sagt also nicht viel aus.


Anmelden zum Antworten