Pointeur structure : besoin d'éclaircissements
salut,
j'ai deux questions l'utilisation des structures via des pointeurs.
Je ne sais pas comment accèder aux variables contenues :
* dans la structure coord du fait que c'est un tableau (voir la fonction afficheCoord)
* dans ses sous structures (voir la fonction afficheDetail).
header.h
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| #define TAILLE 100
typedef struct Information Information;
typedef struct Coordonnees Coordonnees;
struct Information
{
char pays[TAILLE];
char ville[TAILLE];
};
struct Coordonnees
{
long x;
long y;
Information details;
};
void afficheCoord(Coordonnees* coord);
void afficheDetail(Coordonnees* coord); |
main.c
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| #include <stdio.h>
#include <stdlib.h>
#include "pointeur_structure_main.h"
int main()
{
Coordonnees coord[2];
//... initialisation de coord ...//
afficheCoord(coord);
afficheDetail(coord);
return 0;
}
void afficheCoord(Coordonnees* coord){
printf("%dl", coord->x); // pas d'erreur mais valeur erronée
printf("%dl", coord[0]->x); // erreur de compilation
printf("%dl", (coord[0])->x);// erreur de compilation
}
void afficheDetail(Coordonnees* coord){
printf("\n\nla ville de %s se trouve en %s\n",coord->details.ville, coord->details.pays);
printf("\n\nla ville de %s se trouve en %s\n",coord->details->ville, coord->details->pays); // erreur de compilation
} |
merci de vos éclairages