Objetivos
Diretiva #ifndef
A diretiva #ifndef é utilizada para criar uma definição caso um não tenha ainda
sido definida. Essa diretiva também suporta a diretiva #else.
Sintaxe
#ifndef nome_definicao
//definição
#else //opcional
//outro tratamento
#endif
Exemplo 1
#include <stdio.h>
#ifndef DEBUG
#define DEBUG "modo_dbg"
#endif
int main()
{
printf("%s",DEBUG);
}
Saída
modo_dbg
Essa diretiva também é utilizada para evitar a duplicação de inclusão de código quando
utilizamos uma mesma linha #include em vários arquivos que geram includes em cascata,
aumentando assim o tamanho do programa.
Sintaxe
#ifndef NOME_BIBLIOTECA_H
#define NOME_BIBLIOTECA_H
//código
#endif
Exemplo 2
//tipo.h
#ifndef TIPOS_H
#define TIPOS_H
struct meu_tipo
{
//omitido
};
#endif
//arquivo1.h
#include "tipos.h" //sem #ifndef o tipo seria definido novamente
//arquivo2.c
#include "tipos.h" //sem #ifndef o tipo seria definido novamente
#include "arquivo1.h" //sem #ifndef o tipo seria definido novamente
Saída
-
Histórico de atualizações
- 05/05/2025 - versão inicial
Os cursos oferecidos nesta página são cursos fornecidos por parceiros. Ao comprar um curso clicando
em seu banner, você está ajudando a manter o projeto TutorialDev vivo. Os sites dos cursos parceiros utilizam cookies.