Ingrid,
Encontrei 2 erros que comprometem o seu código:
1 - Quando define uma "estrutura" em C não pode retornar valor porque não é uma função ou procedimento.
2 - Na chamada da função "mostrarDisciplina(void);" o "void" é uma tipagem como "int", "float" etc. quando for chamar esse tipo de funcão não precisa colocar argumentos (dependendo da sua função é claro)
Normalmente usamos "void" que é um procedimento que não retorna valor quando alteramos a variável do tipo global ou através de ponteiro.
O código está no caminho certo mas tem que seguir os padrões da linguagem, se tiver dúvidas manda aí.
Atenciosamente,
Wellington Rogati
Implementandoarotina.com