Vídeo: Como criar arquivos de cabeçalho em linguagem C 2024
À medida que os projetos de vários módulos em C crescem mais complexos, você encontra a primeira parte de cada arquivo de código-fonte crescendo por mais tempo e mais: Mais protótipos, mais constantes e mais variáveis e estruturas globais são necessários para cada módulo. Em vez de carregar seu código com redundâncias, você pode criar um arquivo de cabeçalho para o projeto.
Um arquivo de cabeçalho contém quase tudo o que você pode colocar em um arquivo de código-fonte. Especificamente, você deve colocar itens no arquivo de cabeçalho que de outra forma entrarão em cada módulo de código-fonte. Aqui está um arquivo de cabeçalho de exemplo:
HEADER FILE EX2403. H
#include #include / * protótipos * / vazio preenchimento (void); estrutura de impressão vazia (vazio); / * constantes * / / * variáveis * / coisa de estrutura {nome de char [32]; idade int;}; Typedef struct coisa humana;
O arquivo de cabeçalho mostrado no arquivo de cabeçalho ex2403. h começa com algumas diretrizes de inclusão, o que está bem; desde que esses módulos de cabeçalho sejam necessários por cada módulo no programa, você pode especificá-los em seu próprio arquivo de cabeçalho. Alguns programadores optam por fazê-lo; outros não fazem.
Dois protótipos são especificados nas Linhas 6 e 7. Mais uma vez, um motivo para ter um arquivo de cabeçalho é protótipo, especialmente em vários módulos.
O arquivo de cabeçalho ex2403. h carece de constantes, embora colocar esses itens em um arquivo de cabeçalho é bastante comum. Há um comentário na Linha 9 no caso de o programa aumentar as constantes mais tarde.
Finalmente, a coisa da estrutura é definida na Linha 13. Então a Linha 18 usa typedef para que a palavra humana (em vez da coisa da estrutura) possa ser usada no código.
Outros itens populares para incluir em um arquivo de cabeçalho são macros. Estas são diretrizes de pré-processador que também podem ajudar a simplificar seu código.
Para usar um arquivo de cabeçalho local em seu código, você o especifica em uma linha, como qualquer outro arquivo de cabeçalho. A grande diferença é que as citações duplas são usadas em vez de colchetes angulares. Por exemplo:
#include "ex2403. H"
O compilador procura o nome do cabeçalho com aspas duplas no diretório atual, juntamente com o (s) arquivo (s) de código-fonte. Se o arquivo não estiver nesse diretório, você precisa especificar um nome de caminho, como em
#include "cabeçalhos / ex2403. H"
Projeto ex2403 principal. c Código-fonte demonstra como o arquivo de cabeçalho no arquivo de cabeçalho ex2403. h é usado.
PROJETO EX2403 PRINCIPAL. C CÓDIGO DE FUNÇÃO
#include "ex2403. H" pessoa humana; int main () {fillstructure (); estrutura de impressão (); return 0;} void fillstructure (void) {printf ("Digite seu nome:"); fgets (nome da pessoa, 31, stdin); printf ("Digite sua idade:"); scanf ("% d", & pessoa.idade);} void printstructure (void) {printf ("Você é% sn", nome da pessoa); printf ("E você tem% d anos de idade. n", pessoa. idade);}
Linha 1 do código-fonte mostrado no Projeto ex2403 principal. c Código-fonte inclui o arquivo de cabeçalho personalizado, ex2403. h. O tipedef humano é então usado na Linha 3. É isso! Nenhuma outra declaração é necessária no código-fonte porque eles foram manipulados pelo cabeçalho personalizado.
Exercício 1 : Crie um novo projeto no Código:: Blocos. Crie um novo arquivo de cabeçalho, ex2403. h, para o projeto, e copie o código do arquivo de cabeçalho ex2403. h nesse arquivo. Copie o código-fonte do Projeto ex2403 principal. c Código-fonte no principal. arquivo c. Construa e execute.
Exercício 2 : Divide as funções de estrutura de preenchimento () e impressão () do projeto ex2403 principal. c Código-fonte para que cada um apareça em seu próprio arquivo de código-fonte, entrada. c e saída. c, respectivamente. Crie o programa multi-módulo.