O pré-processador da linguagem C faz alterações no código de determinadas diretivas antes de envia-lo ao compilador. Ele é usado para facilitar futuras manutenções no código.
Uma diretiva é o include, o pré-processador substitui o nome do arquivo pelo corpo do arquivo especificado. Quando o nome usa aspas, ele procura no diretório local e depois na pasta include e se o nome do arquivo estiver de entre <>, o pré-processador procura direto na pasta include.
Outra diretiva de pré-processamento é a diretiva de definição. Abaixo segue um exemplo:
#define NUM 3
int mult (int a)
{
int b = a * NUM;
return b;
}
Neste exemplo, todos os lugares que tiver a palavra NUM, será substituída pelo número 3.
Agora vamos fazer uma definição com parâmetros. Abaixo temos um exemplo:
#include <stdio.h>
#define SOMA(a,b) a + b
int main()
{
printf(“ %d “, SOMA(5,3));
return 0;
}
Neste exemplo, o que está acontecendo de verdade é que a palavra SOMA(5,3) está sendo substituída por 5 + 3.
Entretanto, é importante tomar alguns cuidados como no exemplo abaixo:
#include <stdio.h>
#define DIF(a,b) a – b
int main ()
{
printf(“ %d “, 2 * DIF(7,2));
return 0;
}
Neste caso, quando é feito a substituição de 2 * DIF(7,2) temos a expressão 2 * 7 - 2 que é igual a 12 em vez de 10. O código correto seria:
#include <stdio.h>
#define DIF(a,b) (a – b)
int main ()
{
printf(“ %d “, 2 * DIF(7,2));
return 0;
}
0sem comentários ainda