Академический Документы
Профессиональный Документы
Культура Документы
return 0;
}
Se quisermos mudar o nosso valor de PI, ou da VERSAO, no programa acima, basta
mexer no incio do programa. Isto torna o programa mais flexvel. H quem diga que, em
um
programa, nunca se deve usar constantes como 10, 3.1416, etc., pois estes s o n?me
ros que
ningum sabe o que significam (muitas pessoas os chamam de "n?meros mgicos"). Ao in
vs
disto, deve-se usar apenas #defines. uma conven o de programa o (que deve ser
seguida, pois torna o programa mais legvel) na linguagem C que as macros declarad
as em
#defines devem ser todas em mai?sculas.
Um outro uso da diretiva #define o de simplesmente definir uma macro. Neste cas
o
usa-se a seguinte forma geral:
#define nome_da_macro
Neste caso o objetivo n o usar a macro no programa (pois ela seria substituda por
nada), mas, sim, definir uma macro para ser usada como uma espcie de flag. Isto q
uer dizer
que estamos definindo um valor como sendo "verdadeiro" para depois podermos testlo.
Tambm possvel definir macros com argumentos. Veja o exemplo a seguir:
#define max(A,B) ((A>B) ? (A):(B))
#define min(A,B) ((A<B) ? (A):(B))
...
x = max(i,j);
y = min(t,r);
Embora parea uma chamada de fun o, o uso de max (ou min) simplesmente substitui,
em tempo de compila o, o cdigo especificado. Cada ocorrncia de um par metro formal (A
ou B, na defini o) ser substitudo pelo argumento real correspondente. Assim, a linha
de
cdigo:
x = max(i,j);
ser substituda pela linha:
x = ((i)>(j) ? (i):(j));
A linha de cdigo:
x = max(p+q,r+s);
ser substituda pela linha:
67
x = ((p+q)>(r+s) ? (p+q):(r+s));