À medida que nossos programas vão crescendo, é necessário "quebrá-los" em partes, pedaços ou
partes menores. Essa organização é necessária para uma melhor manutenção, organização e reuso.
A linguagem C permite que possamos dividir nossos programas em partes criando nossos arquivos
.c e .h, de acordo com suas responsabilidades.
Como exemplo, vamos criar uma calculadora simples criando os seguintes arquivos:
- calculadora.c: contém nossas funções aritméticas
- calculadora.h: contém protótipos de funções
- main.c: arquivo principal que irá utilizar calculadora.c e calculadora.h
Em nosso arquivo calculadora.h, vamos declarar os protótipos das funções de nossa calculadora como mostrado
no exemplo abaixo:
arquivos .h
//includes vem aqui
int adicao(int a, int b);
int subtracao(int a, int b);
int multiplicacao(int a, int b);
int divisao(int a, int b);
//outras funções
Em nosso arquivo calculadora.c, vamos declarar as funções de nossa calculadora como mostrado
no exemplo abaixo:
arquivos .c
//includes vem aqui
int adicao(int a, int b)
{
return a + b;
}
int subtracao(int a, int b)
{
return a - b;
}
int multiplicacao(int a, int b)
{
return a * b;
}
int divisao(int a, int b)
{
return a / b;
}
A inclusão da cabeçalho(header) de nossa biblioteca, calculadora.h, é feita utilizando a
diretiva #include como na sintaxe abaixo. Essa diretiva pode ser vista em
C Diretiva: #include.
Sintaxe
#include "calculadora.h"
Após a inclusão do cabeçalho calculadora.h, podemos utilizar as funções contidas em
calculadora.c como pode ser visto no trecho de código abaixo:
main.c
//main.c
#include <stdio.h>
#include "calculadora.h" //uso: adicao, substracao,multiplicacao e divisao
int main()
{
printf("%d\n",adicao(1,2));
printf("%d\n",subtracao(1,2));
printf("%d\n",multiplicacao(1,2));
printf("%d\n",divisao(1,2));
}
Saída
3
-1
2
0
Diferente das bibiotecas nativas da linguagem C, as bibliotecas criadas pelo usuário devem ser incluindos entre (").
Caso sejam criadas em subpastas, essas devem ser informadas utilizando (/) para formar completo até o arquivo incluído.
//main.c
#include "calculadora.h"
Saída
3
-1
2
0