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 :

Chaîne de caractères


Sujet :

C

  1. #1
    Membre confirmé
    Homme Profil pro
    Ingénieur/Chercheur
    Inscrit en
    Novembre 2007
    Messages
    123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur/Chercheur

    Informations forums :
    Inscription : Novembre 2007
    Messages : 123
    Par défaut Chaîne de caractères
    Bonjour,
    j'ai une erreur (que je suppose idiote) à l'utilisation d'une chaîne. Mais comme je débute, je ne comprends pas. Voilà mon code :

    main.c :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    #include <stdlib.h>
    #include <stdio.h>
    #include "chaine.h"
     
    int main()
    {
    	printf("%s\n",c);
    	return 0;
    }
    chaine.h :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    #ifndef CHAINE_H
    #define CHAINE_H
     
    char c[2];
     
    #endif
    chaine.c :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    #include <stdlib.h>
    #include <stdio.h>
    #include "chaine.h"
     
    c[0]='Y';
    c[1]='\0';
    Je compile en tapant
    gcc main.c chaine.c
    et j'obtiens
    chaine.c:5:1: attention : la définition de données n'a pas de type ni de classe de stockage [enabled by default]
    chaine.c:5:1: erreur: conflicting types for ‘c’
    In file included from chaine.c:3:0:
    chaine.h:4:6: note: previous declaration of ‘c’ was here
    chaine.c:5:1: erreur: initialisation invalide
    chaine.c:6:1: attention : la définition de données n'a pas de type ni de classe de stockage [enabled by default]
    chaine.c:6:1: erreur: conflicting types for ‘c’
    In file included from chaine.c:3:0:
    chaine.h:4:6: note: previous declaration of ‘c’ was here
    chaine.c:6:1: erreur: initialisation invalide
    Quelqu'un peut m'aider ?
    Merci.

  2. #2
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par défaut
    dans chaine.h, tu déclares c.

    Je préfère un truc plus explicite dans le genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    #ifndef CHAINE_H
    #define CHAINE_H
     
    extern char c[2];
     
    #endif
    par contre, dans chaine.c, il faut définir et initialiser ta variable ce qui n'est pas fait.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    char c[2] = { 'Y', '\0' };
    Au fait, "c" est une variable globale et pour un si petit programme (et même pour un grand d'ailleurs), c'est pas bien du tout (mais je suppose que c'est un exercice)
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

Discussions similaires

  1. Réponses: 8
    Dernier message: 12/02/2013, 01h08
  2. Réponses: 2
    Dernier message: 18/10/2003, 14h42
  3. Chaînes de caractères
    Par Zazeglu dans le forum C
    Réponses: 3
    Dernier message: 28/08/2003, 16h20
  4. Inverser une chaîne de caractères
    Par DBBB dans le forum Assembleur
    Réponses: 2
    Dernier message: 30/03/2003, 11h09
  5. Réponses: 3
    Dernier message: 09/05/2002, 01h39

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