Problème affichage des données d'un tab struct
Résolu
histl4000
Messages postés
129
Date d'inscription
Statut
Membre
Dernière intervention
-
yg_be Messages postés 23541 Date d'inscription Statut Contributeur Dernière intervention -
yg_be Messages postés 23541 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je ne sais pas comment afficher les données d'une structure de tableau.
Cas d'exemple:
struct un_objet{
float prix;
char description[50];
};
struct stock{
int nombre_objet;
struct un_objet objet[50];
};
int main(void){
struct un_objet* pointeur;
struct stock stocks;
printf("Descripition ? ");scanf("%50[^\n]%*c",pointeur->description);
printf("Prix ? ");scanf("%f%*c", &pointeur->prix);
stocks.objet[1] = *pointeur;
printf("%s",stocks.objet[1]); /* -> ne marche pas */
}
Je sais pas comment afficher les objets ?
Je ne sais pas comment afficher les données d'une structure de tableau.
Cas d'exemple:
struct un_objet{
float prix;
char description[50];
};
struct stock{
int nombre_objet;
struct un_objet objet[50];
};
int main(void){
struct un_objet* pointeur;
struct stock stocks;
printf("Descripition ? ");scanf("%50[^\n]%*c",pointeur->description);
printf("Prix ? ");scanf("%f%*c", &pointeur->prix);
stocks.objet[1] = *pointeur;
printf("%s",stocks.objet[1]); /* -> ne marche pas */
}
Je sais pas comment afficher les objets ?
A voir également:
- Adèle consulte son compte sur le site de sa banque et obtient l'affichage ci-dessous.
- Site de telechargement - Accueil - Outils
- Site comme coco - Accueil - Réseaux sociaux
- Qui a consulté mon profil facebook - Guide
- Quel site remplace coco - Accueil - Réseaux sociaux
- Banque populaire - Guide
1 réponse
Salut histl4000,
Si c'est la description que tu veux afficher, tu devrais afficher
Cependant, ton code produira une erreur de segmentation à l'exécution car tu ne réserves pas d'espace mémoire pour la struct vers laquelle est sensée pointer
Si tu fais comme cela, tu dois utiliser malloc pour allouer la mémoire nécessaire à la struct, et mettre l'adresse mémoire de son emplacement dans la variable
Dal
Si c'est la description que tu veux afficher, tu devrais afficher
stocks.objet[1].description.
Cependant, ton code produira une erreur de segmentation à l'exécution car tu ne réserves pas d'espace mémoire pour la struct vers laquelle est sensée pointer
pointeur, qui, comme toute variable déclarée comme un pointeur sur quelque chose, est une variable réservant juste assez d'espace pour une adresse mémoire.
Si tu fais comme cela, tu dois utiliser malloc pour allouer la mémoire nécessaire à la struct, et mettre l'adresse mémoire de son emplacement dans la variable
pointeur.
Dal
histl4000
Messages postés
129
Date d'inscription
Statut
Membre
Dernière intervention
3
D'accord, merci beaucoup.
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
1 584
>
histl4000
Messages postés
129
Date d'inscription
Statut
Membre
Dernière intervention
bonjour, peux-tu marquer comme résolu, en utilisant le lien en dessous du titre?