私は C で stuct を持っており、関数を使用してユーザーから構造体の値を取得しています。以下は私の構造です。
typedef struct {
char *name;
char *chemical_symbol;
char *class;
int atomic_number;
double atomic_weight;
int *electrons;
} element_t;
これは、ユーザーから値を取得するために使用している関数です。問題は、化学記号を要求した後のこの関数にあります。Bus Error: 10 が表示されます。バス エラーについての私の理解は、プロセッサがメモリ アクセスを試行できない場合です。どんな助けでも大歓迎です。ありがとうございました!
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);
}