Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Funcionamento do header file

Fiquei com uma dúvida com relação ao funcionamento do header file. Da mesma maneira quando declaramos as bibliotecas como <stdio.h> ou <stdlib.h>, as funções que declaramos dentro do nosso header file (forca.h) funcionam sem precisarmos escrever o código de funcionamento delas em forca.c?

ex:

#include "forca.h";

int main(){
    abertura();
}

Sem precisar de:

void abertura(){

    printf("********************************\n");
    printf("*********Jogo de forca**********\n");
    printf("********************************\n\n");
}
1 resposta
solução!

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!