構造体の宣言に関するエラーが解決できかねています。
現在、"循環・双方向リスト"のアルゴリズムを勉強中にて、以下のコードを実施しているのですが、下記エラーが発生しております。
どなたかエラーとなっている原因をご教授頂けますと幸いです。
↓実施コード
#include <stdio.h> typedef struct{ struct tfield *left; char name[20]; char tel[20]; struct tfield *right; }tfield; tfield *talloc(void); int main(){ tfield *p, *head; int count; head = talloc(); head->left = head->right = head; while(p=talloc(),scanf("%s %s",p->name,p->tel)!=EOF){//循環・双方向リストの作成。 p->right = head; p->left = head->left; head->left->right = p; head->left = p; } p=head->right; while(p!=NULL){//順列でのリスト表示 count = 1; printf("%d番_名前:%s,電話:%s\n",count++, p->name,p->tel); p = p->right; } p=head->left; while(p!=NULL){//逆順でのリスト表示 count = 1; printf("%d番_名前:%s,電話:%s\n",count++, p->name,p->tel); p = p->left; } } tfield *talloc(void){ return (tfield *)malloc(sizeof(tfield)); }
↓エラー内容
prob.c:26:19: error: incomplete definition of type 'struct tfield' head->left->right = p; ~~~~~~~~~~^ prob.c:3:8: note: forward declaration of 'struct tfield' struct tfield;
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/06/21 07:32