Ir para o conteúdo
ou

Software livre Brasil

0 comunidades

Nenhum(a)

Felipe da Silva Braz

Apresentações

 Voltar a Blog
Tela cheia

Pré-processador e macros

12 de Novembro de 2016, 19:35 , por Felipe da Silva Braz - 0sem comentários ainda | Ninguém está seguindo este artigo ainda.
Visualizado 20 vezes
Licenciado sob GNU FDL

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

Enviar um comentário

Os campos são obrigatórios.

Se você é um usuário registrado, pode se identificar e ser reconhecido automaticamente.