#include <stdio.h>
main()
{
typedef struct{
char *name;
int age;
}person[5];
int i;
for (i=0;i<5;i++){
printf ("name:");
scanf("%s",person[i].name);
printf("\nage:");
scanf("%d",&person[i].age);}
for (i=0;i<5;i++){
printf ("person:%d",i);
printf ("name:%s",person[i].name);
printf ("age:%d",person[i].age);
}
}
this is the sample program i have. But while compiling i keep getting the error “expected expression before person in line 10,12,16 and 17? What am i doing wrong?
To fix the syntax error, remove the
typedefkeyword (you’re trying to declare a variable, not a type).Better yet, change to:
Also, the following is wrong:
You need to first allocate memory for
person[i].name(for example, usingmalloc()).Lastly, the
%sformat specifier in the following line is not correct: