Oi Pedro, tudo bem?
No header file geralmente existe apenas a declaração de funções. Nesses arquivos é informado os nomes das funções, o seu retorno e os seus parâmetros. Um exemplo é o seu arquivo "forca.h".
A implementação dessas funções, ou seja, as instruções do que elas fazem, é descrito no arquivo de implementação. No seu caso, o arquivo "forca.c".
Sobre os header files padrão que vc mencionou como "<stdio.h>" ou "<stdlib.h>" o funcionamento é exatamente o mesmo. A diferença é que esses arquivos são bibliotecas padrão do C. Ou seja, você não precisa dizer como as funções do arquivo stdio.h funcionam pois os criadores da linguagem C já criaram esses arquivos para você. O seu programa apenas usa funções que outra pessoa escreveu!
Concluindo, um arquivo ".h" apenas nos diz a assinatura de uma função. O arquivo ".c" nos diz a implementação. Se tivermos apenas um arquivo ".h" declarando funções sem implementar, a função não pode ser usada. Pois o programa não saberia o que fazer nessas funções.
Complementando, os includes de biblioteca padrão como <stdio.h> já possuem implementação e estão, portanto, prontos para uso. Só é necessário incluir e usar!
Um abraço!