#ifdef, #ifndef, ## c pré -processador

#ifdef, #ifndef, ## c pré -processador

Vários comandos pré -processadores existem no idioma C. Os comandos #Define e #Undef são os comandos pré -processadores mais importantes presentes no idioma C. Cada um deles tem alguns recursos únicos. Neste tópico, discutiremos em detalhes sobre os comandos #ifdef, #ifndef e ##.

O conceito de pré -processador

Antes de discutirmos os comandos #IFDEF, #IFNDEF e ##, temos que saber sobre o pré -processador.

Um conjunto de programas executados antes do nosso programa ser compilado e é chamado de pré -processador. A principal função do pré -processador é apenas observar as declarações simbólicas #. O restante das linhas permanece inalterado pelo processador. Este # tem um nome único no idioma C: a diretiva pré -processadora. A função desta diretiva pré -processadora é dar uma direção a essa afirmação específica. O # é seguido pelo comando pré -processador.

Diagrama de pré -processador

O pré -processador resolve todas as linhas #. Isso significa que não há uma linha que seja a # que seja compilada pelo compilador.

Agora, discutiremos sobre os comandos #ifdef, #ifndef e ## em detalhes. Esses comandos de pré -processador listados são:

Comandos de pré -processador

  • #if, #else, #elif e #endif
  • #ifdef e #ifndef
  • ##

Exemplo de programação 1

Neste exemplo de programação, veremos a aplicação do comando pré -processador #if, #else.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#incluir
#Definir país Índia
int main ()

#if país == Paquistão // usando o comando # se.
Printf ("rúpias paquistanesas \ n");
#elif país == Bangladesh
printf ("Taka \ n");
#elif país == Nepal
printf ("rúpias nepalesas \ n");
#else // usando o comando # else.
Printf ("Rúpias indianas \ n");
#endif // país
retornar 0;

Saída

Explicação

Nessa linguagem de programação em particular, damos um exemplo de #if, #else. O #IF não precisa de nenhum () parênteses. É usado para executar a única declaração verdadeira. Caso contrário, usaremos #elif para definir diferentes tipos de condições no código de programação. Quando usamos a condição se verdadeira, nenhuma outra condição será verificada e ela imprimirá a condição correta em nosso monitor.

Para o #if, está determinado se essa linha é cumprida ou não. #elif é tão bom quanto se.

Exemplo de programação 2

Aqui, veremos outro exemplo do comando #IF, #Else:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#incluir
#Define Um comando 100 // pré -processador é usado aqui.
#Define B 0
#Define C 10
int main (vazio)

int a = 100, b = 0, c = 10;
#If a // # se a instrução for usada aqui.
Printf (“Valor de A é %d \ n”, a);
#elif b
printf (“Valor de B é %d \ n”, b);
#else // # else A declaração é usada aqui.
Printf (“valor de c é %d \ n”, c);
#fim se
retornar 0;

Saída

Explicação

Neste exemplo de programação, o #if e #else são usados. Anteriormente, dissemos que esses comandos são diferentes do if-else normal usado no programa. Este comando é executado pelo processador e executa antes da compilação. Mas apenas a verdadeira afirmação é executada e pronta para compilar.

1
#ifdef, #ifndef macros

#ifdef é uma macro. Se alguma macro estiver contida em uma declaração #Define, o restante da declaração deve ser compilado pelo compilador.

#ifndef também é uma macro como #ifdef.

Exemplo de programação 3

Neste exemplo de programação, veremos a aplicação do comando pré -processador, #ifdef, #ifndef:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#incluir
#Define Country "India"
int main ()

#ifdef país // usando o comando # ifdef.
printf ("%s é um ótimo país", país);
#endif // país
#ifndef país // usando o comando # ifndef.
printf ("Eu amo minha nação");
#endif // país
retornar 0;

Saída

Explicação

Nesta programação em particular, damos um exemplo de #ifdef, #ifndef. O #IF e #Else são diferentes do normal, se for usado normalmente no idioma C. Eles são executados pelo pré -processador para decidir qual condição estará pronta para compilação. É usado para executar apenas uma declaração verdadeira. Caso contrário, vamos usar #elif Para definir diferentes tipos de condição no código de programação. Quando usamos isso se a condição verdadeira, nenhuma outra condição será verificada e imprimirá a condição correta em nosso monitor.

#ifdef realmente usa se a macro for definida com qualquer sequência de caracteres. Se a macro não estiver definida, então #ifndef executa. Aqui, uma macro é usada no programa nomeado país. A macro país é definido com a sequência de personagens chamada “Índia”. Para isso, o #IFDEF é executado neste programa.

Exemplo de programação 4

Neste exemplo de programação, veremos outra aplicação do comando pré -processador #ifdef, #ifndef.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#incluir
int main ()

int x = 0;
#ifdef noinput // usando o comando # ifdef.
#outro
printf ("Digite o valor da variável x:");
scanf ("%d", & x);
#fim se
printf ("O valor de x é: %d \ n", x);
retornar 0;

Saída

Explicação

Nessa programação em particular, damos um exemplo de #ifdef, #ifndef. Como mencionei anteriormente, o #ifdef realmente usa se a macro for definida com qualquer sequência de caracteres. Se a macro não estiver definida, #ifndef executar. Aqui, uma macro é usada no programa nomeado SEM ENTRADA. Então, ele executa e pronto para compilação.

Operador ##

O ## também é um operador que é resolvido pelo pré -processador. Com a ajuda do operador ##, podemos concatenar duas declarações ou duas seqüências facilmente.

Exemplo de programação 5

Neste exemplo de programação, veremos a aplicação do comando pré -processador ## operador.

1
2
3
4
5
6
7
8
9
10
11
12
13
#incluir
#Define Action (A, B) A ## B+A*B
int main ()

printf ("%d", ação (3,4));
retornar 0;

Saída

Explicação

Neste exemplo de programação, usamos o operador ## para concatenar duas strings. Este operador também é executado pelo processador. Na verdade concatena duas cordas.

Aqui, a expressão é dada Ação (3, 4), e é substituído por a ## B + a * b = 34 + 3 * 4 = 34 + 12 = 46.

## Concatenate os dois operando.

Conclusão

Neste artigo, discutimos o processador e os comandos de pré-processador prontos para compilação e execução pelo compilador. Esses comandos de pré -processador discutidos anteriormente são muito importantes para o complier, quais coisas ele será compilado. Com base nessas coisas, nosso programa será executado.