Typedef structure

Résolu
JeVeuxJusteEtreIngenieure -  

Bonjour,

Dans quels cas faut-il utiliser "typedef" lorsqu'on définit une nouvelle structure dans un code ?

Merci beaucoup :)))) 


Macintosh / Safari 15.6.1

2 réponses

  1. Modérateur

    Bonjour,

    Je recommande de nommer les structures avec le suffixe _t, tout en minuscule. Ces deux blocs de code sont parfaitement équivalents :

    struct _ma_structure_t {
      int attribut1;
      int attribut2;
    }
    
    typedef struct _ma_structure_t ma_structure_t; 
    typedef struct _ma_structure_t {
       int attribut1;
       int attribut2;
    } ma_structure_t;
    • En C et en C++, tu n'es pas obligé(e) d'utiliser un typedef quand tu déclares une structure. Typedef ou pas, tu peux très bien utiliser struct _ma_structure_t dans tout ton code, ce sera parfaitement correct.
    • En C++, tu n'as même pas besoin de faire de typedef, tu pourrais parler indifféremment de struct _ma_structure_t ou directement de _ma_structure (idem pour les classes).
    • En C et en C++, le nom avec ou sans le mot clé struct peut être le même. Tu peux donc parfaitement écrire ne pas utilisé de préfixe _ devant le type intermédiaire :
    typedef struct ma_structure_t {
      int attribut1;
      int attribut2;
    } ma_structure_t;

    Bonne chance

    1. bonjour,

      à chaque fois que tu veux utiliser une définition de type perso:

      typedef int ENTIER // pour écrire ENTIER dans le code au lieu de int

      (si tu veux absolument écrire en français, par exemple)

      typedef struct _toto {
      
          ......
      
      } TOTO;
      
      //pour écrire
      
      TOTO machin;
      
      //au lieu de
      
      struct _toto machin;
      1. Super merci beaucoup !