This is a short version of my original program but the error output is the same.
I have 3 file:

`list.h` `list.c` and `main.c`

In the `main.c` file:

```
int main(int argc, char *argv[]){

    list *head = NULL;
    int b;

    printf("Type int: \n");

    while(b != 0){
        scanf("%d", &b);
        add(b);
    }

    print_list(list *head);
}

```

And when I compile:

```
main.c: In function ‘main’:
main.c:21:13: error: expected expression before ‘list’
  print_list(list *t);
             ^~~~

```

The 'list' type is already declared in `list.h` by:

```
typedef struct lis{
    int item;
    struct lis *next;
}list;

```

What I did wrong?