Structure Deklaration



  • Ich bin noch ein relativer Anfänger und bin auf eine Codezeile gestoßen, die ich so nicht verstehe, oder eher bei der ich mir nicht sicher bin warum Sie so aussieht.

    struct ether_header *ethhdr = (struct ether_header *)packet;
    

    Warum stehen rechts die Klammern? Ist es nicht erlaubt bei einer Zuweisung einen Datentyp hinzuschreiben, und das ist der Umweg dies dennoch zu tun?

    Bin für jede Hilfe dankbar.



  • Hallo,

    das ist ein expliziter Type Cast.

    Dem Compiler wird somit gesagt:

    Weise der Adresse links vom = den Wert der Variable 'packet' zu. Ich möchte aber, dass du annimmst, sie sei vom Typ 'Adresse auf eine Struktur vom Typ ether_header'.


Anmelden zum Antworten