O poder do #define

Publicado por Hunz em 13/12/2004

[ Hits: 7.695 ]

Blog: http://tnegri.com/

 


O poder do #define



Já me deparei com muitos códigos em que o programador faz um código imenso, com poucas, ou às vezes, sem nenhuma utilização do #define. Acho isso essencial para todo código.

Imagine você, fez um sistema/programa ou outra coisa do gênero e não usou nenhuma vez o #define. Seis meses se passam e você decide mudar algo no programa, quer mudar a mensagem de erro de:

printf("[ERRO]\n");

para:

printf("Ocorreu um erro, pressione ENTER para sair do programa.\n");

Já pensou em mudar aquelas 500, 600, 700 ou 800 linhas de erro, copiando e colando? Quanto trabalho, né?

Todo esse trabalho poderia ser poupado se você tivesse usado o #define. Muito simples, isso você teria no programa antigo:

#define MSG_ERRO "[ERRO]\n"

e no lugar do printf("[ERRO]\n"); você usaria:

printf(MSG_ERRO);

e depois de passar esses seis meses, você simplesmente mudaria apenas 1 linha de código, colocando:

#define MSG_ERRO "Ocorreu um erro, pressione ENTER para sair do programa.\n"

Este é um exemplo bem simples. O #define pode ser usado para milhares de outras coisas.

Apenas deixo aqui essa dica, para que o iniciante se acostume a usar o #define com freqüência, porque realmente é muito útil.

Abraços,
Fiquem com Deus.

Outras dicas deste autor

STDPRN para GCC

Movendo o cursor em C usando Console Escape Sequence

aMSN travando? Sem problemas!

Checagem de erro do scanf

Leitura recomendada

Imprimir na mesma linha em C

Fazendo comparações sem o uso de IF, ELSE em C

Linguagem C++ (Curso gratuito)

Usando o GCC com pthread

Corrigindo o erro: C compiler cannot create executables

  

Comentários
[1] Comentário enviado por removido em 22/03/2005 - 22:28h

dica mto util......deveria render um artigo. ou talvez eu faca um e coloque sua referencia ;)

[2] Comentário enviado por removido em 28/04/2005 - 20:34h

Legal a dica, até que enfim alguém me convenceu de vez a usar defines nos meus programas. Parabéns pela dica.

[3] Comentário enviado por programmer em 04/11/2005 - 18:41h

Muito boa essa dica,valeu

[4] Comentário enviado por jochan em 14/12/2005 - 14:47h

Muito legal, vai me ajudar bastente no meu projeto de C++ ... =)

[5] Comentário enviado por fdavid em 14/04/2006 - 00:23h

Meu professor as vezes acha que "florio" demais com define, porque uso para substituir "numeros magicos" e principalmente para formulas.

Uma informação add sobre o mesmo:
O #define é uma macro de substituição do compilador, assim quando compilar:

#define MAX 50
printf("%i", MAX);

todos os locais onde estiver o MAX será substituido por 50, ao contratio do que alguns iniciantes pensão o #define não cria uma variavel constante.

PS.: Vamos seguir o padrão ANSI C e usar constantes simbolicas sempre em maiusculo ;-)

[6] Comentário enviado por stanley_sathler em 23/11/2009 - 05:13h

Nunca fui de usar o #define, até mesmo não por não ter motivos para isso, mas sua dica ficou muito boa. Me deu uma visão na qual eu não tinha em mente. ;)



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts