Como criar um arquivo de cabeçalho personalizado em C

Como os projetos multi-módulo em C se tornam mais complexos, você encontra a primeira parte de cada arquivo de código fonte crescente mais e mais: Mais protótipos, mais constantes e variáveis ​​e estruturas mais globais são necessários para cada módulo. Ao invés de carga seu código com redundâncias, você pode criar um arquivo de cabeçalho para o projeto.

Um arquivo de cabeçalho contém tudo o que você pode colocar em um arquivo de código-fonte. Especificamente, você deve colocar os itens no arquivo de cabeçalho que de outra forma entrar em cada módulo de código-fonte. Aqui está um arquivo de cabeçalho de exemplo:

cabeçalho do arquivo EX2403.H

#include #include / * protótipos * / void fillstructure (void) printstructure -void (void) - / * constantes * // * {char nome [32] idade -int -} - coisa variáveis ​​* / struct typedef struct coisa humanidade

O arquivo de cabeçalho mostrado no cabeçalho ex2403.h arquivo começa com alguns incluem directivas, o que é bom- enquanto esses arquivos de cabeçalho são exigidos por cada módulo do programa, você pode especificá-los em seu próprio arquivo de cabeçalho. Alguns programadores optar por fazer os outros so- não.

Dois protótipos são especificados nas linhas 6 e 7. Mais uma vez, uma das razões para ter um arquivo de cabeçalho é a criação de protótipos, especialmente em vários módulos.

O ex2403.h arquivo de cabeçalho não tem constantes, apesar de colocar esses itens em um arquivo de cabeçalho é bastante comum. Há um comentário em Linha 9 no caso de o programa cresce constantes mais tarde.

Finalmente, a coisa estrutura é definida na Linha 13. Em seguida, linha 18 utiliza typedef de modo que a palavra humano (Em vez de coisa estrutura) pode ser utilizado no código.

Outros itens populares para incluir em um arquivo de cabeçalho são macros. Estes são directivas de pré-processador, que também podem ajudar a simplificar o seu código.

Para usar um arquivo de cabeçalho local em seu código, você especificá-lo em uma linha, assim como qualquer outro arquivo de cabeçalho. A grande diferença é que as aspas duplas são usadas, em vez de colchetes. Por exemplo:

#include "ex2403.h"

O compilador procura o nome do arquivo de cabeçalho entre aspas duplas no diretório atual, junto com o arquivo (s) 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"

ex 2403 projeto main.c Source Code demonstra como o arquivo de cabeçalho no cabeçalho ex2403.h arquivo é usado.

ex 2403 PROJECT MAIN.C CÓDIGO FONTE

#include "ex2403.h" main () pessoa-int humana {fillstructure () - printstructure () - retornar 0-} fillstructure (void) {printf ( "Digite seu nome:") -fgets (person.name, 31 , stdin) -printf ( "Informe a sua idade:") -scanf ( "% d", person.age) -} printstructure (void) {printf ( "Você é% s n", person.name) -printf ( "E você é% d anos. n", person.age) -}

Linha 1 do código-fonte mostrado na ex 2403 Projeto main.c Código de origem inclui o arquivo de cabeçalho personalizado, ex2403.h. O ser humano typedef é então utilizado na Linha 3. É isso aí! Nenhum outro declarações são necessárias no código-fonte porque elas foram tratadas pelo cabeçalho personalizado.

Exercício 1: Criar um novo projeto no Code :: Blocks. Criar um novo arquivo de cabeçalho, ex2403.h, para o projeto, e copiar o código do cabeçalho ex2403.h arquivo para esse arquivo. Copie o código-fonte do projeto ex 2403 main.c Código-fonte para o arquivo main.c. Construir e executar.

Exercício 2: Dividir a fillstructure () e printstructure () funções de ex 2403 Projeto main.c Source Code para que cada aparece em seu arquivo de código própria fonte, input.c e output.c, respectivamente. Construir o programa multi-módulo.

menu