ここには2つの構造があります。メインのリンクリストは単語です。単語リストの各ノードには意味があります
typedef struct node{
char word[20];
struct node2 *meaning;
struct node *next;
}word;
typedef struct node2{
char meaning[100];
struct node2 *next;
}means;
私の問題は、複数の意味を追加できないことです。意味を 1 つだけ追加できますが、追加しようとすると、前の意味が上書きされてしまいます。どうすればよいですか? これが私が意味を追加する方法です
word *tmp2=(*head);
means *tmp3;
tmp3=(means *)malloc(sizeof(means));
if(tmp2==NULL){
printf("\n**List still empty, add a word**\n");
return;
}
do{
if(strcmp(tmp2->word,ins)==0){
tmp2->meaning=tmp3;
strcpy(tmp3->meaning,mea);
tmp3->next=NULL;
printf("\n**You have successfully added a meaning**\n");
return;
}
tmp2=tmp2->next;
}while(tmp2!=NULL);
printf("\n**Word is not on the list, cannot add meaning**\n");
return;