J'ai une structure en C, et j'utilise une fonction pour obtenir les valeurs de la structure de l'utilisateur. Voici ma structure.C Structures Erreur de bus 10
typedef struct {
char *name;
char *chemical_symbol;
char *class;
int atomic_number;
double atomic_weight;
int *electrons;
} element_t;
C'est la fonction que j'utilise pour obtenir les valeurs de l'utilisateur. Le problème réside dans cette fonction après avoir demandé le symbole chimique. Je reçois erreur de bus: 10. Ma compréhension d'une erreur de bus est quand le processeur ne peut pas tenter l'accès à la mémoire. Toute aide est appréciée. Je vous remercie!
element_t scan_element() {
element_t element;
printf ("Enter New Element Information:\n\n");
printf("Element Name: ");
scanf("%s", element.name);
printf("Element Chemical Symbol: ");
scanf("%s", element.chemical_symbol);
printf("Element Class: ");
scanf("%s", element.class);
printf("Element Atomic Number: ");
scanf("%d", &element.atomic_number);
printf("Element Atomic Weight: ");
scanf("%lf", &element.atmoic_weight);
printf("Element Electrons: ");
scanf("%p", &element.electrons);
return(element);
}
N'oubliez pas de chaînes 'free()' après que vous avez terminé de les utiliser. – milleniumbug