自己参照的構造体の使い方
Posted: 2016年6月25日(土) 11:28
自己参照的構造体を使用して入力した番号に当てはまるデータを出力するというプログラムを作成しています。条件として20行目のfor文を必ず使うことなんですが、20行目のfirstがどのような役回りをしているのか、22,27行目のデータを出力と24行目のif文でdata.no、data.nameにするとエラー文が出てくるのでどのようにすれば出力されるかが分かりません。
改善策を教えてください。
text.txtの内容
1 saisuke
2 yamada
3 ueda
7 nakashio
4 sahashi
改善策を教えてください。
text.txtの内容
1 saisuke
2 yamada
3 ueda
7 nakashio
4 sahashi
#include<stdio.h>
#include<stdlib.h>
struct hito{
int no;
char name[40];
struct hito *next;
};
void list(int num){
int i;
FILE *fp;
struct hito *data;
if ((fp = fopen("text.txt", "r")) == NULL){
printf("not open file\n");
exit(EXIT_SUCCESS);
}
for (data = first; data != NULL; data = data->next){
//全てのデータを出力する
printf("%d %s", data, data);
}
if (data.no == num){
//検索したデータを出力する
printf("検索したデータ\n");
printf("%d\t%d\t%s", data, data, data);
}
fclose(fp);
}
int main(void){
int num;
printf("inout_number\n");
scanf("%d", &num);
list(num);
return 0;
}