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 : 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
#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 : 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
#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