IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

portablité et standard d'un code (initialisation des champs d'une structure) ?


Sujet :

C

  1. #1
    Modérateur
    Avatar de gangsoleil
    Homme Profil pro
    Manager / Cyber Sécurité
    Inscrit en
    Mai 2004
    Messages
    10 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Manager / Cyber Sécurité

    Informations forums :
    Inscription : Mai 2004
    Messages : 10 150
    Points : 28 123
    Points
    28 123
    Par défaut portablité et standard d'un code (initialisation des champs d'une structure) ?
    Bonjour,

    J'ai récupéré le code suivant dans un projet, et je me demandais quelle était la portabilité, et le standard, d'une telle initialisation :

    fichier d'en-tête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    typedef struct
    {
        char * name ;
        int id ;
    } ma_struct;
    fichier c
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    /* Les includes qui vont bien */
     
    /* Global variable(s) */
    static ma_struct   data = { .name = NULL ; }
    Si ce code est effectivement fonctionnel, comment fait-on pour initialiser deux variables (en supposant que l'on en ait N) ? Comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    static ma_struct   data = { .name = NULL , 
                                .id = 0 ; }
    En vous remerciant de vos réponses,

  2. #2
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par gangsoleil Voir le message
    Si ce code est effectivement fonctionnel, comment fait-on pour initialiser deux variables (en supposant que l'on en ait N) ? Comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    static ma_struct   data = { .name = NULL , 
                                .id = 0 ; }
    Oui, c'est C99 pur sucre. C'est une des rares nouveautés que j'apprécie.

  3. #3
    Modérateur
    Avatar de gangsoleil
    Homme Profil pro
    Manager / Cyber Sécurité
    Inscrit en
    Mai 2004
    Messages
    10 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Manager / Cyber Sécurité

    Informations forums :
    Inscription : Mai 2004
    Messages : 10 150
    Points : 28 123
    Points
    28 123
    Par défaut
    Merci beaucoup pour ces informations. Bonne journée.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. ordre des champs d'une structure
    Par shaiHulud dans le forum MATLAB
    Réponses: 5
    Dernier message: 26/09/2012, 13h46
  2. façon d'écrire des champs d'une structure
    Par alamako dans le forum Débuter
    Réponses: 2
    Dernier message: 14/06/2011, 17h12
  3. Initialiser des données d'une structure sur une form
    Par soso78 dans le forum Windows Forms
    Réponses: 1
    Dernier message: 24/12/2007, 15h41
  4. ordre des champs dans une structure
    Par oussema dans le forum C
    Réponses: 8
    Dernier message: 08/03/2007, 18h42
  5. Réponses: 5
    Dernier message: 17/05/2005, 09h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo