Pasando la estructura para funcionar

Soy un nuevo programador en C y quería saber cómo puedo pasar unstruct a través de una función. Recibo un error y no puedo averiguar la sintaxis correcta para hacerlo. Aquí está el código para ello ...

Struct:

struct student{
    char firstname[30];
    char surname[30];
};

struct student person;

Llamada:

addStudent(person);

Prototipo:

void addStudent(struct student);

y la función real:

void addStudent(person)
{
    return;
}

Errores del compilador:

línea 21: advertencia: declaración de etiqueta dudosa: estructura estudiante
línea 223: el argumento # 1 es incompatible con el prototipo: