Aprendendo o comando do pré -processador #Define, #undef em c

Aprendendo o comando do pré -processador #Define, #undef em c
Existem vários comandos pré -processadores que existem no idioma C. # define e # undef são o comando pré -processador mais importante presente na linguagem C. Cada um deles tem alguns recursos únicos. Neste tópico, discutiremos em detalhes # Definir e # Undef.

O que é pré -processador?

Antes de discutirmos # Definir e # Undef, precisamos saber sobre o pré -processador.

Um pré -processador é um programa que executa antes da compilação. No pré -processador do código -fonte, apenas percebe as declarações # símbolos iniciadas. O restante das linhas permanece inalterado pelo processador. # é chamado de diretiva pré -processadora. Cada diretiva do processador deve estar em sua própria linha. A palavra depois # é chamada de comando pré -processador. # define e # undef são as diretivas de pré -processador.

Comando do processador #Define in C Language

A diretiva # define define um identificador e uma sequência de caracteres (um conjunto de caracteres) que serão substituídos pelo identificador cada um encontrado no arquivo de origem.

# Definir pi 3.14.
# é chamado de diretiva pré -processadora.

Definir é chamado de comando pré -processador.

Pi é chamado de identificador ou macro.

3.14 são chamados de sequência de personagem.

# é chamado de diretiva pré -processadora. Indica o pré -processador para processar ou executar a linha.

Depois de escrever a diretiva pré -processadora, escrevemos imediatamente o comando pré -processador. Existem muitos tipos de comandos presentes no idioma C. Definir é um dos comandos do processador escritos aqui. Com esses comandos, o processador pode entender o que será feito.

Depois disso, escrevemos uma palavra chamada macro. Aqui escrevemos uma macro chamada pi. Pode ser escrito tanto na capital quanto em letras pequenas. Aqui escrevemos em uma pequena carta.

Depois de usar macro, escreveremos imediatamente uma sequência de personagens. A sequência de caracteres pode ser um número ou string. Eles podem ser qualquer tipo, dependendo do requisito do programador. Aqui usamos uma sequência de personagens 3.14. Em todo o programa em que escrevemos pi, o pré -processador substitui este pi por 3.14. Então, na verdade, definimos um valor de Pi uma vez, o pré -processador substitui todo o pi a 3.14. Então, quando o compilador compila o programa, ele pode ver todos os valores do PI para 3.14.

Sintaxe geral

# Definir seqüência de char de macro-nomes

O identificador é referido como um nome de macro e o processo de substituição como uma substituição de macro.

Exemplo

# Definir pi 3.14
# Definir msg "Hello Processor"

Exemplo de programação 1

#incluir
#Define Sum (A, B) A+B
int main ()

printf (“A soma de 5 e 6 é %d”, soma (5,6));
retornar 0;

Saída

Explicação

Aqui usamos um comando de pré -processador Definir. Escrevemos uma linha:

#Define Sum (A, B) A+B

"#" É a diretiva pré -processadora. Depois de "#", escrevemos imediatamente o comando Definir Processor. Depois disso, escrevemos um identificador ou uma macro chamada soma (a, b). Então escrevemos uma sequência de personagens A+B.

Para ver a diretiva "#", o pré -processador pode entender que é a linha que deve ser resolvida. Ao escrever o comando define, o pré -processador pode entender qual será a ação executada pelo pré -processador. Em seguida, a soma macro (a, b) e o pré -processador A+B substituem toda a soma macro (a, b) pela sequência de caracteres A+B. Isso significa que quando o compilador compila o programa, ele pode ver A+B no lugar da soma (a, b) em todos os lugares. Então, escrevemos uma macro apenas uma vez, e ela pode ser usada várias vezes em nosso programa.

Exemplo de programação 2

#incluir
#Define Product (A, B) A*B
int main ()

printf (“O produto de 5 e 6 é %d”, produto (5+6, 4-6));
retornar 0;

Saída

Explicação

Aqui usamos outro comando de pré -processador define. Escrevemos uma linha:

#Define Product (A, B) A*B

"#" É a diretiva pré -processadora. Depois de "#", escrevemos imediatamente o comando Definir Processor. Depois disso, escrevemos um identificador ou um macro chamado produto (a, b). Então escrevemos uma sequência de personagens a*b.

Para ver a diretiva # o pré -processador pode entender que é a linha que deve ser resolvida. Ao escrever o comando define, o pré -processador pode entender qual será a ação executada pelo pré -processador. Em seguida, o Produto Macro (A, B) e A*B pré -processador substituem todo o Macro Product (a, B) pela sequência de caracteres A*B. Isso significa que quando o compilador compila o programa, ele pode ver A*B no local do produto (a, b) em todos os lugares. Então, escrevemos uma macro apenas uma vez, e ela pode ser usada várias vezes em nosso programa.

O mecanismo real deste exemplo em particular é

Produto (5+6,5-6)
a = 5 está errado aqui.
O cálculo correto é:
5+6*5-6
= 5+30-6
= 35-6
= 29.

Portanto, o resultado é 29.

Exemplo de programação 3

#incluir
#Define Square (a) A*A
int main ()

int s = quadrado (5)
printf (“o quadrado de IS %d”, s);
retornar 0;

Saída

Explicação

Aqui usamos outro comando de pré -processador define. Escrevemos uma linha:

#Define Square (a) A*A

"#" É a diretiva pré -processadora. Depois de "#", escrevemos imediatamente o comando Definir Processor. Depois disso, escrevemos um identificador ou uma macro chamada Square (a). Então escrevemos uma sequência de personagens a*a.

Para ver a diretiva # o pré -processador pode entender que é a linha que deve ser resolvida. Ao escrever o comando define, o pré -processador pode entender qual será a ação executada pelo pré -processador. Então o macro quadrado (a) e um*um pré -processador substituem todo o macro quadrado (a) pela sequência de caracteres a*a. Isso significa que quando o compilador compila o programa, ele pode ver um*a no lugar do quadrado (a) em todos os lugares em que é usado. Então, escrevemos uma macro apenas uma vez, e ela pode ser usada várias vezes em nosso programa.

#undef

É usado para macros indefinidas. Sempre que percebemos que não há mais macro no programa, simplesmente escrevemos:

#ndendef macro-name

Não há requisito para qualquer sequência de caracteres.

Exemplo de programação 4

#incluir
#Define Avishek Avi
int main ()

#undef Avi
# se definido (Avi)
printf ("Eu sou um professor");
# outro
printf (“Macro foi indefinido \ n”);
# endif // definido.
retornar 0;

Saída

Explicação

Aqui definimos uma macro chamada Avishek, e ela substitui por uma sequência de personagens Avi. Também é indefinido por "#ndeDef". Sempre que a macro não é mais necessária no programa, usamos o comando de pré -processador undef.

Conclusão

Aqui aprendemos sobre os usos de " #" define e # undef em detalhes. Como alternativa, aprendemos os usos da macro também. Como posso aplicá -lo e sempre que a macro não for mais necessária no programa, depois indefiniu usando "#ndendef". Então, é um bom conceito na linguagem de programação C.