这是代码中不适用于我的部分。我正在声明一个指向结构的指针,我尝试在函数上使用它,尽管c表示它无法将主人转换为人。
void display (char *s2,FILE *f1,int max);
void insert (FILE *f1, struct person *p1);
void deletestring (FILE *f1,FILE *f2,char *s2,char *s1,char *file1,char *file2,int max);
void edit (FILE *f1,FILE *f2,char *s2,char *s1,char *file1,char *file2,struct person *p1,int max);
int main ()
{
char s1[MAX],s2[MAX];
FILE *f2,*f1;
struct person
{
char id[MIN];
char emer[MIN];
char mbiemer[MIN];
};
struct person p1;
struct person *pp1;
pp1 = &p1;
char *file1 = "f1.txt";
char *file2 = "f2.txt";
int zgjedhja=1;
printf("Programi funksionon sipas shpjegimit \n :");
printf("Shtypni 1 per te shtuar nje person \n Shtypni 2 per te ndryshuar informacionin e nje personi \n Shtypni 3 per te shfaqur te dhenat \n Shtypni 4 per te fshire nje person \n Shtypni -1 per te dale nga programi \n ");
while (zgjedhja != -1 )
{
printf("Jepni zgjedhjen tuaj \n ");
scanf(" %d " , & zgjedhja );
switch (zgjedhja)
{
case 1:
f1=fopen(file1,"a");
insert (f1,pp1);
答案 0 :(得分:3)
struct person
类型具有main
范围,因此insert
中的含义不同。实际上,未指定成员的结构类型称为不完整类型。要删除此错误,请在函数之外声明您的结构。
struct person
{
/* ... */
};
/* Function declarations. */
int main (void)
{
/* ... */
}