Problème affichage des données d'un tab struct

Résolu/Fermé
histl4000 Messages postés 129 Date d'inscription lundi 3 juillet 2017 Statut Membre Dernière intervention 12 juillet 2018 - 12 oct. 2017 à 17:25
yg_be Messages postés 23406 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 décembre 2024 - 15 oct. 2017 à 10:57
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 ?

A voir également:

1 réponse

[Dal] Messages postés 6198 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 13 décembre 2024 1 096
Modifié le 12 oct. 2017 à 20:15
Salut histl4000,

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
0
histl4000 Messages postés 129 Date d'inscription lundi 3 juillet 2017 Statut Membre Dernière intervention 12 juillet 2018 3
12 oct. 2017 à 20:10
D'accord, merci beaucoup.
0
yg_be Messages postés 23406 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 décembre 2024 1 557 > histl4000 Messages postés 129 Date d'inscription lundi 3 juillet 2017 Statut Membre Dernière intervention 12 juillet 2018
15 oct. 2017 à 10:57
bonjour, peux-tu marquer comme résolu, en utilisant le lien en dessous du titre?
0