Pointeur sur enregistrement
bernard
-
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
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:
- Pointeur sur enregistrement
- Pointeur souris - Guide
- Curseur Windows 10 : comment bien voir la souris à l'écran - Guide
- Enregistrement mp3 gratuit - Télécharger - Streaming audio
- Enregistrement - Guide
- Telecharger studio d'enregistrement rap - Télécharger - Édition & Montage
3 réponses
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?
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?
bernard
je vois vraiment pas du tout ce qui ne va pas meme après des heures de recherche, vraiment personne ne voit? :-(
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
$