Pointeur sur enregistrement

bernard -  
 bernard -
Bonjour, j'ai crée l'enregistrement suivant :

struct voiture {
int immatriculation;
char *modele;
}

Je souhaite créer une fonction afficher(struct voiture *pv) qui affiche la valeur des champs de cet enregistrement, avec la notation -> . Voici ce que j'ai fait :

struct voiture v, *pv = {pv->5689, pv->"peugeot"};

void afficher(struct voiture *pv){
printf("%d, %s", pv->immatriculation, pv->modele);
}

Mais ça ne compile pas, aurais je oublié quelque chose svp?

merci
A voir également:

3 réponses

bernard
 
j'ai recodé plus proprement mais tjs des tonnes d'erreurs de compilation je ne comprends plus rien je suis mon livre pourtant:

struct voiture {
int immatriculation;
char *modele;
};

struct voiture v, *pv;
pv = &v;
pv -> identification = 5948;
pv -> modele = "peugeot";

void afficher(struct voiture *pv){
printf("immatriculation %d, Modele %s, %d ", pv->immatriculation,pv->modele);
}

A la compilation j'ai tout ce flot d'erreur je ne comprends pas:

error: data definition has no type or storage class error: type defaults to ‘int’ in declaration of ‘pv’
error: conflicting types for ‘pv’
error: previous declaration of ‘pv’ was here
error: initialization makes integer from pointer without a cast
error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘->’ token
error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘->’ token
error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘->’ token
error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘->’ token

Quelqu'un aurait il une petite idée svp?
0
bernard
 
je vois vraiment pas du tout ce qui ne va pas meme après des heures de recherche, vraiment personne ne voit? :-(
0
bernard
 
perosnne ne sait ce que veulent dire ces messages svp, j'ai suivi mon livre pourtant...
0
dubcek Messages postés 19030 Date d'inscription   Statut Contributeur Dernière intervention   5 641
 
hello
$ cat voit.c
#include <stdio.h>

struct voiture {
int immatriculation;
char *modele;
};

struct voiture v, *pv;

void afficher(struct voiture *pv)
{
	printf("immatriculation %d, Modele %s\n", pv->immatriculation,pv->modele);
} 

main()
{
	pv = &v;
	pv -> immatriculation = 5948;
	pv -> modele = "peugeot";
	afficher(pv);
}
$ 
$ ./voit
immatriculation 5948, Modele peugeot
$ 
0
bernard
 
merci bcp dubcek.
0