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
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.