typedef struct Data* DATAS;
struct Data {
char *name;
char *city;
DATAS next;
};
typedef struct Data DATA;
int main(void){
DATAS tmp;
tmp=(DATAS) malloc(sizeof(DATA));
printf("please enter name:\n");
scanf("%s",&tmp->name);
printf("%s\n",&tmp->name);
printf("please enter city:\n");
scanf("%s",&tmp->city);
printf("%s\n",&tmp->name);
printf("%s\n",&tmp->city);
return 0;
}
これは宿題の一部です。というかコンセプトです。「typedef struct Data* DATAS;」を使用する必要があります。それは私を捨てています。これを実行すると、名前が都市の一部で上書きされるため、結果としてこれが得られます。
please enter name:
name
name
please enter city:
city
namecity
city
どんな助けでも素晴らしいでしょう。ありがとう。を使用してmallocのさまざまなバリアントを試しました
tmp=(DATAS) malloc(sizeof(DATA));
tmp=(DATA) malloc(sizeof(DATA));