Clique sobre os tópicos listados abaixo para navegar até o conteúdo desejado.

  1. Criar um módulo(.c e .h)
  2. Uso de "" e <>
  3. Módulos em subpastas
  4. uso de extern

À 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:

  1. calculadora.c: contém nossas funções aritméticas
  2. calculadora.h: contém protótipos de funções
  3. 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
  1. 11/03/2025 - revisão 3 - Melhorias pontuais
  2. 07/10/2024 - revisão 2 - Ajustes pontuais
  3. 29/09/2023 - revisão 1 - Correção em referências e erros gramaticais
  4. 19/05/2023 - versão inicial