Frage zu struct typedefs



  • hallo,

    könnt ihr mir erklären warum C-programmierer immer wieder folgendes machen?

    Beispiel:

    typedef struct _GaimPlugin GaimPlugin;
    
    struct _GaimPlugin
    {
           blabla  bla;
    }
    

    Warum nicht gleich die Struktur so nennen, wie man sie will?

    Danke



  • raph.ael schrieb:

    könnt ihr mir erklären warum C-programmierer immer wieder folgendes machen?
    ...

    machen sie doch gar nicht.

    raph.ael schrieb:

    Warum nicht gleich die Struktur so nennen, wie man sie will?

    man kann sie nennen wie man will, naja, fast...
    🙂



  • Also wenn, dann so:

    struct _GaimPlugin
    {
           blabla  bla;
    };
    
    typedef struct _GaimPlugin GaimPlugin;
    

    Oder gleich so:

    typedef struct 
    {
           blabla  bla;
    } GaimPlugin;
    

    Der Vorteil von typedef ist, dass man bei der Verwendung der Struktur sich dann das struct-Schlüsselwort sparen kann.



  • pale dog schrieb:

    machen sie doch gar nicht.

    Das wär den "echten" C-Programmierern zu high-level, zu abstrakt, was? 🙂



  • Stefan schrieb:

    Also wenn, dann so:
    ...
    Oder gleich so:...

    Oder natürlich genau so wie im OP:

    typedef struct recursive_data_type recursive_data_type;
    
    struct recursive_data_type
    {
      recursive_data_type  *link;
    };
    


  • finix schrieb:

    pale dog schrieb:

    machen sie doch gar nicht.

    Das wär den "echten" C-Programmierern zu high-level, zu abstrakt, was? 🙂

    nee, die 'echten' würden das so machen:

    typedef struct GaimPlugin
    {
        blabla  bla;
    } GaimPlugin_t;
    

    edit: steht ja schon da...
    🙂


Anmelden zum Antworten