Typedef syntax...



  • ich hab folgenden code vor mir:

    typedef int intarr[10][10];
    

    so definiere ich ja ein typ 10x10 matrix mit de mnamen intarr gell?

    aber rein syntaxtechnisch würde es doch so schönes aussehen:

    typedef int[10][10] intarr;
    

    würde man beim ersten typedef das keyword typedef weg lassen

    int intarr[10][10];
    

    wäre ja das intarr kein typ mehr sonder den namen einer 10x10 matrix

    diese syntax verwirrt mich...



  • Hallo,

    so definiere ich ja ein typ 10x10 matrix mit de mnamen intarr gell?

    CoolerTyp schrieb:

    ich hab folgenden code vor mir:

    typedef int intarr[10][10];
    

    so definiere ich ja ein typ 10x10 matrix mit de mnamen intarr gell?

    Ja, oder genauer: alle Objekte, die vom Typ intarr sind, sind Arrays, die aus 10 Elementen bestehen, wobei jedes dieser Elemente wiederum ein Array ist, das 10 Elemente vom Typ int enthält 😃

    CoolerTyp schrieb:

    aber rein syntaxtechnisch würde es doch so schönes aussehen:

    typedef int[10][10] intarr;
    

    Das ist Ansichtssache, denn wenn man sich vorstellt, dass es noch komplexere typedefs gibt, dann stehen vorne jede Menge Operatoren und man muss doch wieder genau hinsehen, welcher Typ denn hier definiert wird.

    CoolerTyp schrieb:

    würde man beim ersten typedef das keyword typedef weg lassen

    int intarr[10][10];
    

    wäre ja das intarr kein typ mehr sonder den namen einer 10x10 matrix

    So ist es...

    CoolerTyp schrieb:

    diese syntax verwirrt mich

    Eigentlich ist die typedef-Syntax leicht einprägbar: sie sieht hier genau so aus, wie eine "einfache" Definition (damit meine ich eine ohne den typedef-Namen zu benutzen) einer Variablen, die den "typedef-Typ" haben soll, an Stelle der Variablen steht einfach der Typ und ganz vorne nur zusätzlich das typedef-Schlüsselwort. So muss eben keine neue Syntax her, um einen Typ einzuführen, sie ist schon bekannt.

    MfG,

    Probe-Nutzer


Anmelden zum Antworten