2つの構造体が相互にリンクされています。これらはリンクされたリストを形成する。ポインタで構造体内部の構造体にアクセス
typedef struct {
char *text;
int count;
} *Item;
typedef struct node {
Item item;
struct node *next;
} *link;
私はItem構造体を比較するためのルックアップ関数を構築しています。
link lookup(link head, Item item){
link list;
for(list = head; list != NULL; list = list->next)
if(strcmp(list->item->text, item->text) == 0)
return list;
return NULL;
}
具体的には、私は、if文のリスト - >アイテム - >テキストを行うことができますか。(*項目は)を.TEXT私は(*リスト)を行う必要がありますか?または、これはまったく不可能ですか?
あなたはポインタを介して構造体を参照していますが、 ' - > '演算子は正しいです。 (ただし、 'typedef struct ... ... Item'などのポインタには' typedef'を使って注意してください。これは、コードの残りの部分にわたって間接レベルを隠すことができ、一見すると決定が困難になります)。通常は 'typedef構造体... Item 'より優れているので、コード自体の間接参照のレベルを考慮します。ポインタの型定義が気に入っている人は、個人的には、通常は価値があるよりも多くの問題を引き起こします。 –
'(* list)。(* item).text'の構文が間違っています。代わりに、 '(*(* list).item).text'を書く必要があります –