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 :

Init d'une structure par precompilateur


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 64
    Par défaut Init d'une structure par precompilateur
    Bonjour,

    Je voudrais savoir comment initialiser une structure au moment de la précompilation. en fait je voudrais associer une série des constantes a une série des tableaux et a une série des nombres. ex

    la constante MESURE = 0 est associe a un tableau {1,4,4,4} et a un nombre A = 4
    la constante REGISTRE = 1 est associe a un tableau {1} et a un nombre B = 1
    la constante ACTION = 2 est associe a un tableau {1,2} et a un nombre C = 2
    la constante PARAMÈTRE = 3 est associe a un tableau {1,3,4} et a un nombre D = 3

    L'idée c'est de créer une fonction ou j'aurais en paramètre le type de tableau que je veux remplir ex.;

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    remplir(int type,int * tableau_a_remplir)
    {
    STRUCTURE toto = STRUCUTURE_PAR_DEFAUT;
    int index = 0;
    int i = 0;
     
    for(i = 0;i < nombre de types;i++)
    {
      if(i == type)index = i; break;
    } 
     
    for(i = 0;i <toto.nombre;i++)
    {
      tableau_a_remplir[i] = *(toto.position[index] + i);
    }
     
    }
    La structure serait défini comme suit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    typedef struct
    {
       int N;
       int *types;
       int *nombres;
       int **tableaux;
    }STRUCTURE;
     
    #define STRUCUTURE_PAR_DEFAUT {4,(int*){MESURE,REGISTRE,ACTION,PARAMETRE},(int**){les tableaux}}
    Mais bien sure de cette manière, ça compile pas.

    Auriez vous des idées.

    Merci

  2. #2
    Scorpi0
    Invité(e)
    Par défaut
    Pas tout compris, t'as pas un exemple allégé ?
    Et au passage, les erreurs de (pré)compilation aussi !

  3. #3
    Membre Expert Avatar de nicolas.sitbon
    Profil pro
    Inscrit en
    Août 2007
    Messages
    2 015
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 2 015
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    #include <stdio.h>
     
    typedef struct
    {
       int N;
       int types[4];
       int tableaux[4][4];
    }
    STRUCTURE;
     
    enum {MESURE, REGISTRE, ACTION, PARAMETRE};
     
    #define STRUCTURE_PAR_DEFAUT \
       { \
          4, \
          {MESURE, REGISTRE, ACTION, PARAMETRE}, \
          { \
             {1,4,4,4}, \
             {1}, \
             {1,2}, \
             {1,3,4} \
          } \
       }
     
    int main (void)
    {
       STRUCTURE var = STRUCTURE_PAR_DEFAUT;
       return 0;
    }

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 64
    Par défaut
    Merci beaucoup!!!!!

    C'est exactement ce que je voulais faire.

    Désole pour ne pas avoir écris plus-tôt.

    Je marque la discussion résolu!!!

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

Discussions similaires

  1. Envois et recevoir une structure par référence ?
    Par panthere noire dans le forum Débuter
    Réponses: 8
    Dernier message: 04/03/2010, 17h38
  2. nommer une structure par un nom de variable
    Par captaine93 dans le forum MATLAB
    Réponses: 6
    Dernier message: 06/01/2010, 18h57
  3. Passer une structure par variable de session
    Par oclone dans le forum ASP.NET
    Réponses: 9
    Dernier message: 12/03/2009, 14h30
  4. [C#] Envoi d'une structure par un(e) socket
    Par joprog dans le forum Windows Forms
    Réponses: 2
    Dernier message: 02/03/2007, 11h29
  5. ou mettre une structure utilisée par une classe
    Par grand's dans le forum C++
    Réponses: 10
    Dernier message: 28/07/2005, 18h53

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