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));