C · Intermediário · Inglês · Técnico
include guard
Conjunto de #ifndef, #define e #endif no começo e no fim de um cabeçalho, para que seu conteúdo entre só uma vez por unidade de tradução.
Onde usar
Sem a guarda, incluir o mesmo .h por dois caminhos gera erros de redefinição de tipo. O nome da macro costuma seguir o do arquivo, como VETOR_H; #pragma once é uma alternativa não padrão.
Em código
#ifndef VETOR_H
#define VETOR_H
typedef struct { int *d, n; } Vetor;
#endifExemplos
This header has no include guard, so it breaks when included twice.
Esse cabeçalho não tem include guard, então quebra quando incluído duas vezes.
Name the include guard after the file.
Dê ao include guard o nome do arquivo.
Cuidado
Usar o mesmo nome de guarda em dois cabeçalhos: um deles passa a ser ignorado em silêncio.
Sinônimos
header guard, guarda de inclusão