Frage zu struct mit typedef??



  • Hallo,

    worin lieg der unterschied zwischen:

    typedef struct _DATA {
    
    int i;
    
    } DATA;
    

    und:

    struct DATA{
    
    int i;
    
    };
    

    in bei den fällten kann ich ja jetzt ein objekt mit dem typ DATA erzeugen ... worin liegen die unterschiede??



  • in c++ gibts keinen.

    In C schon, weil man dort immer "struct DATA" schreiben muss - also immer ein struct zum Datentyp dazu. Das umgeht man durch das typedef.

    In C++ ist das aber unnoetig.



  • Shade Of Mine schrieb:

    in c++ gibts keinen.

    Es gibt auch in C++ einen kleinen aber feinen Unterschied (gilt auch für C):

    Illegal:

    typedef struct _DATA {
    
    int i;
    
    } DATA;
    
    void DATA();
    

    Ok:

    struct DATA{
    
    int i;
    
    };
    void DATA();
    

    In diesem Fall muss man struct DATA schreiben, wenn man die struct meint.


Log in to reply