1
resposta

Não entendi porque só importou "fogefoge.h" quando usou struct

Por que não foi declarado o "fogefoge.h" quando só tinha as funções ? Nesse caso a ordem das funções já estava bem posicionadas para o compilador fazer sua leitura sem erro?

1 resposta

Oi João! Tudo joia?

A inclusão de arquivos de cabeçalho em C é importante para que o compilador saiba quais são as definições de tipos e declarações de funções que serão usadas no seu código.

Quando você está lidando apenas com funções, muitas vezes é possível declarar as funções antes de usá-las ou, se estão em arquivos separados, incluir o arquivo de cabeçalho onde essas funções estão declaradas. Isso garante que o compilador saiba como essas funções devem ser chamadas.

No caso de structs, a situação é um pouco diferente. Uma struct precisa ser definida antes de ser usada, porque o compilador precisa saber o layout da memória para manipular corretamente as variáveis desse tipo. Quando você define uma struct em um arquivo de cabeçalho, como fogefoge.h, e quer a usar em outro arquivo, é necessário incluir esse cabeçalho para que o compilador tenha acesso à definição da struct.

Portanto, quando você começou a usar a struct mapa, precisou incluir o fogefoge.h para que o compilador soubesse como a struct estava definida. Sem essa inclusão, o compilador não teria como saber o que é struct mapa e quais são seus membros, resultando em erros de compilação.

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.