Passando struct para funcionar

Eu sou um novo programador C e eu queria saber como eu posso passar umstruct através de uma função. Estou recebendo um erro e não consigo descobrir a sintaxe correta para isso. Aqui está o código para isso ....

Struct:

<code>struct student{
    char firstname[30];
    char surname[30];
};

struct student person;
</code>

Ligar:

<code>addStudent(person);
</code>

Protótipo:

<code>void addStudent(struct student);
</code>

e a função real:

<code>void addStudent(person)
{
    return;
}
</code>

Erros do compilador:

linha 21: aviso: declaração de tag duvidosa: struct student
linha 223: o argumento # 1 é incompatível com o protótipo:

questionAnswers(5)

yourAnswerToTheQuestion