manage.c
#include<stdio.h>
#include<stdlib.h>
typedef struct{
int month;
int day;
int day_of_week;
}diary;
typedef struct{
char *name;
diary day_d;
}Library_d;
FILE *fp;
int main(void)
{
Library_d *data;
if((fopen("Library","r"))==NULL)
fprintf(stderr,"error\n");
if((fscanf(fp,"%d %d %d",data->day_d.month,data->day_d.day,data->day_d.day_ow))==0)break;
return 0;
}
manage.c(27): warning C4477: 'fscanf' : 書式文字列 '%d' には、型 'int *' の引数が必要ですが、可変個引数 1 は型 'int' で す
manage.c(27): warning C4477: 'fscanf' : 書式文字列 '%d' には、型 'int *' の引数が必要ですが、可変個引数 2 は型 'int' で す
manage.c(27): warning C4477: 'fscanf' : 書式文字列 '%d' には、型 'int *' の引数が必要ですが、可変個引数 3 は型 'int' で す
とでて,コンパイラに言われたとおりに直そうとするもどのように引数を記述してあげればいいのかわかりません
いろいろ試した結果month,day,day_of_weekをメンバとして持つdaiaryを
typedef struct{
int *month;
int *day;
int *day_of_week;
}diary;
のように各メンバを元の型に対するポインタに変更するとコンパイルエラーはなくなったのですが、このような宣言をせずに実現したいのですどのようにすればいいのですか?