Comment imprimer des données à partir d'une structure à l'aide de pointeur sur struct en C

J'ai un pointeur vers une structure de type Carte définies dans un fichier d'en-tête:

typedef struct {
    char *squares; //!< A pointer to a block of memory to hold the map.
    int   width;   //!< The width of the map pointed to by squares.
    int   height;  //!< The height of the map pointed to by squares.
} Map;

Le pointeur est initialisé comme suit:

    struct Map *map_ptr;    
    map_ptr = create_map(*w_ptr, *h_ptr);
    //create_map returns Map*, w_ptr and h_ptr are pointers to height and width fields for a map/maze.

Comment puis-je aller sur l'impression des valeurs de largeur et de hauteur stockées à l'intérieur de la structure de la Carte qui est créé dans create_map? create_map est tenue dans un fichier externe et la seule variable il passe retour à la page principale est le pointeur sur la carte.

La suite donne une erreur lors de la compilation ("erreur: déréférencement de pointeur de type incomplète")

printf("Height = %d\n", map_ptr->height);

Autant que je sache, le pointeur est valide tant que le code ci-dessous imprime une adresse de mémoire:

printf("Pointer address for map = %p\n", map_ptr);
InformationsquelleAutor Bradford | 2012-12-30