Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1221 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  Gros doute sur une structure...

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Gros doute sur une structure...

n°319938
spydurmen
Posté le 28-02-2003 à 00:18:38  profilanswer
 

Bonjour,
j'ai une structure

Code :
  1. typedef struct _Arc{
  2.   struct _Arc * suiv;
  3.   struct _Arc * prec;
  4.   char pere[3];
  5.   char donnee[3];
  6.   char fils[3];
  7. } Arc;


 
dans un fichier .h
dans mon fichier .c, je veu afficher chacun des 3 champs char de la structure, sachant que j'ai un pointeur sur le type Arc: Arc * arc_courant.
 
Quand je fais

Code :
  1. printf("%s",arc_courant->pere);
  2. ou
  3. printf("%3s",arc_courant->pere);


ca ne marche pas et ca m'affiche TOUT mes 3 champs.
 
C'est le résultat attendu, mais ca me parait trop MAGIQUE.
Alors j'aimerai avoir une explication.
 
Pour m'assurer du bon résultat sans ambiguité, j'ai affiché caractère par caractère et là ca fonctionne.
 
Merci beaucoup d'avance

mood
Publicité
Posté le 28-02-2003 à 00:18:38  profilanswer
 

n°319952
nraynaud
lol
Posté le 28-02-2003 à 00:36:32  profilanswer
 

Spydurmen a écrit :

Bonjour,
j'ai une structure

Code :
  1. typedef struct _Arc{
  2.   struct _Arc * suiv;
  3.   struct _Arc * prec;
  4.   char pere[3];
  5.   char donnee[3];
  6.   char fils[3];
  7. } Arc;


 
dans un fichier .h
dans mon fichier .c, je veu afficher chacun des 3 champs char de la structure, sachant que j'ai un pointeur sur le type Arc: Arc * arc_courant.
 
Quand je fais

Code :
  1. printf("%s",arc_courant->pere);
  2. ou
  3. printf("%3s",arc_courant->pere);


ca ne marche pas et ca m'affiche TOUT mes 3 champs.
 
C'est le résultat attendu, mais ca me parait trop MAGIQUE.
Alors j'aimerai avoir une explication.
 
Pour m'assurer du bon résultat sans ambiguité, j'ai affiché caractère par caractère et là ca fonctionne.
 
Merci beaucoup d'avance


 
Allouer 3 cases à ton tableau signifie que tu ne pourra mettre que 2 lettre dedans et à la dernière case tu dois mettre le caractère '\0' (plus prosaïquement la constante 0).
 
Je suppose que tu as oublié ces caractères de fin de chaine.
 
edit : t'as de la chance, ça aurait pu essayer d'afficher la moité de l'espace d'adressage de l'application.


Message édité par nraynaud le 28-02-2003 à 00:38:02

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  Gros doute sur une structure...

 

Sujets relatifs
Gros probleme de feuille de style avec Netscape 4 (Linux)[c] g un doute sur la fonction pow... (resolu)
[[Java]] -- Un gros probleme entre méthodes.Problemes avec une structure de controle
[C]Probleme avec une structure ...Juste une petite question sur la structure de mon site
Debutant Servlet : gros pb!!![STL] vector/list de structures, recherche d'elements de la structure
[ C ] Structure de if correct ?De gros problème avec le css : je comprend rien
Plus de sujets relatifs à : Gros doute sur une structure...


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR