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 :

typedef tableau char


Sujet :

C

  1. #1
    Membre averti
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Octobre 2016
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Octobre 2016
    Messages : 24
    Par défaut typedef tableau char
    Bonjour à tous,
    J'aimerai créer un typedef de tableau de type char.
    Je pensais savoir faire mais le compilateur me jette à chaque fois.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    typedef char TISerialBuf[CGSerialBufMaxLength]; //faux
    typedef char TIBiphBuf[CGBiphBufMaxLength]; //faux
     
    TISerialBuf  VITabSerialPool  [CGBALSerialPoolCapa]; 
    TIBiphBuf    VITabBiphPoolEmi [CGBALBiphPoolEmiCapa];
     
    /* Les Variables
    CGSerialBufMaxLength
    CGBiphBufMaxLength
    CGBALSerialPoolCapa
    CGBALBiphPoolEmiCapa
    sont des constants que je modifierai selon les besoins du programme */
    Merci d'avance pour vos réponses

  2. #2
    Membre Expert Avatar de jopopmk
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    1 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 1 856
    Par défaut
    Salut,

    tu compiles avec quoi ? Si CGSerialBufMaxLength et CGBiphBufMaxLength sont des variables, tu ne pourras pas compiler en C89.

  3. #3
    Membre averti
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Octobre 2016
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Octobre 2016
    Messages : 24
    Par défaut
    Citation Envoyé par jopopmk Voir le message
    Salut,

    tu compiles avec quoi ? Si CGSerialBufMaxLength et CGBiphBufMaxLength sont des variables, tu ne pourras pas compiler en C89.
    Je code avec le logiciel Wind River Workbench.
    Non, CGSerialBufMaxLength et CGBiphBufMaxLength sont des constantes.
    Déclaré ainsi:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    #define CGSerialBufMaxLength 23
    #define CGBiphBufMaxLength 64
    Comme j'utilise un peu partout ces constantes, et que j'aimerai les modifier pour adapter mon programme au besoin, je les déclares ainsi.

  4. #4
    Expert éminent

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 202
    Par défaut
    En fait, le compilateur est précis dans son message d'erreur.
    Que dit-il exactement? Comment le comprends-tu?

  5. #5
    Membre averti
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Octobre 2016
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Octobre 2016
    Messages : 24
    Par défaut
    Citation Envoyé par ternel Voir le message
    En fait, le compilateur est précis dans son message d'erreur.
    Que dit-il exactement? Comment le comprends-tu?
    Le message d'erreur est le suivant:

    Multiple markers at this line
    -Syntax error
    -Syntax error

    (Le message d'erreur est le meme sur chaque ligne)

    Personnellement ça ne m'avance pas beacoup, je ne comprends pas où sont mes 2 erreures de syntaxes...

  6. #6
    Membre Expert Avatar de jopopmk
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    1 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 1 856
    Par défaut
    Truc bête : tes constantes de prépro sont bien définies avant tes typedef ?

  7. #7
    Membre averti
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Octobre 2016
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Octobre 2016
    Messages : 24
    Par défaut
    Citation Envoyé par jopopmk Voir le message
    Truc bête : tes constantes de prépro sont bien définies avant tes typedef ?
    Oui mais dans un autre header.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    #include "CONSTANTES.h"
     
    typedef char TISerialBuf[CGSerialBufMaxLength];  // Multiple markers at this line : -Syntax error -Syntax error
    typedef char TIBiphBuf[CGBiphBufMaxLength]; // Multiple markers at this line : -Syntax error -Syntax error
     
    TISerialBuf  VITabSerialPool  [CGBALSerialPoolCapa];
    TIBiphBuf    VITabBiphPoolEmi [CGBALBiphPoolEmiCapa];
    J'ai bien vérifié (au cas ou ) que les constants sont là et oui ells y sont.

  8. #8
    Expert éminent

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 202
    Par défaut
    Et en affichant le log de compilation, il y a un message d'erreur, pas simplement le marqueur affiché par ton IDE (au vu du message, je dirai Eclipse)
    D'une manière générale, il faut écouter le compilateur lui-même

  9. #9
    Membre Expert
    Inscrit en
    Mars 2005
    Messages
    1 431
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 1 431
    Par défaut
    Code foo.c : 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
    30
    31
    32
    #include <stdio.h>
    #include <stdlib.h>
     
    #define CGSerialBufMaxLength 23
    #define CGBiphBufMaxLength 64
    #define CGBALSerialPoolCapa 42
    #define CGBALBiphPoolEmiCapa 627
     
    typedef char TISerialBuf[CGSerialBufMaxLength];
    typedef char TIBiphBuf[CGBiphBufMaxLength];
     
    TISerialBuf  VITabSerialPool  [CGBALSerialPoolCapa];
    TIBiphBuf    VITabBiphPoolEmi [CGBALBiphPoolEmiCapa];
     
     
    int main(int argc, char *argv[]) {
        srand(54321);
     
        for (size_t i = 0; i < 8; ++i) {
            const size_t index = (size_t)rand() % (sizeof VITabSerialPool / sizeof(TISerialBuf));
            printf("operating on VITabSerialPool[%zu]:\n", index);
     
            for (size_t j = 0; j < sizeof VITabSerialPool[index]; ++j)
                VITabSerialPool[index][j] = (char)((rand() % (126 - 32)) + 32);
     
            for (size_t j = 0; j < sizeof VITabSerialPool[index] - 1; ++j)
                printf("%c ;", VITabSerialPool[index][j]);
            printf("%c\n", VITabSerialPool[index][sizeof VITabSerialPool[index] - 1]);
        }
     
        return 0;
    }

    Chez moi ça fonctionne (gcc -std=c11 -pedantic -Wall -Wextra foo.c, GCC 5.3.0). Quels sont le compilateur et la commande de compilation ?

  10. #10
    Membre averti
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Octobre 2016
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Octobre 2016
    Messages : 24
    Par défaut
    Je n'ai pas le compilateur, le serveur qui me permet de valider ma licence (et donc de compiler) est en réparation depuis une semaine.
    Je m'aide du "pré-compilater" qui détecte les erreures de syntaxes du code en attendant histoire de pas stagné au niveau du codage.

    C'est bizarre qu'il me détecte des erreures de syntaxe sur ces 2 lignes mais si ça compile chez toi c'est que ça doit être juste

    Merci à tous pour vos réponses trés rapides et trés gentiles.

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

Discussions similaires

  1. affichage de tableau char
    Par Phlogos dans le forum Débuter
    Réponses: 5
    Dernier message: 24/06/2010, 07h08
  2. Conversion d'un tableau int en tableau char
    Par lcoulon dans le forum Débuter
    Réponses: 7
    Dernier message: 11/12/2009, 11h53
  3. [C# - Débutant] comment créer tableau char *
    Par moulefrite dans le forum Windows Forms
    Réponses: 3
    Dernier message: 26/12/2008, 14h41
  4. question de tableau char (RandomAccessFile)
    Par beegees dans le forum Entrée/Sortie
    Réponses: 7
    Dernier message: 15/05/2007, 15h37
  5. Limitation, declaration d'un tableau Char[]
    Par semby dans le forum Collection et Stream
    Réponses: 4
    Dernier message: 16/06/2006, 19h01

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