Simple: it's not a
that you pass to the method, it's a string.
Your functionm expects a pointer to a struct:
void print1(struct test id,struct test *name)
but you pass this:
Which is a char *:
And you pass an integer as the first value as well!
I'm not sure what you are trying to do here - I think you want to re-read your course notes and try again!