test di verificaDomanda
Qual è l'output di questo programma?
immagine del test



1 / 3 domande



Vuoi visualizzarlo sul tuo sito?

#undef ( linguaggio C )

Nel linguaggio C la direttiva #undef annulla un identificatore o una macro, già definita con la direttiva #define, nella preprocessione del codice sorgente di un programma.

Sintassi

#undef [nome]

L'unico parametro della diretta è il nome della macro da rimuovere.

Esempio

La prima direttiva (#define) definisce l'identificato VERS mentre la seconda direttiva (#undef) lo annulla.

#define VERS 3
#undef VERS

La direttiva #undef può essere inserita in qualsiasi punto del codice sorgente.

Esempi pratici

Alcuni esempi pratici della direttiva #undef.

Esempio 1

Nella riga 2 la direttiva #define definisce l'identificativo VERS e gli assegna il valore 2.

#include <stdio.h> #define VERS 2 int main() { #if VERSIONE < 3 #undef VERS #endif #ifdef VERS printf(" versione %d ", VERS); #else printf("versione non aggiornata "); #endif return 0; }

Se l'identificativo VERS è minore di 3, viene annullato nella riga 6.

La preprocessione trasforma il codice sorgente nel seguente modo e lo compila.

la preprocessione modifica il codice sorgente prima della compilazione

L'output del programma è

versione non aggiornata

Esempio 2

Nella riga 2 la direttiva #define assegna il valore 4 all'identificativo VERS.

#include <stdio.h> #define VERS 2 int main() { #if VERSIONE < 3 #undef VERS #endif #ifdef VERS printf(" versione %d ", VERS); #else printf("versione non aggiornata "); #endif return 0; }

Nella struttura condizionale della riga 5 l'identificativo VERS non è minore di 3 e la preprocessione salta direttamente alla riga 8.

Quindi, in questo caso l'identificativo non viene annullato dalla direttiva #undef nella riga 6.

La preprocessione trasforma il codice sorgente nel seguente modo e poi lo compila.

la preprocessione riscrive il codice sorgente

L'output del programma è

versione 4

https://www.okpedia.it/undef-c


Segnala un errore o invia un suggerimento per migliorare la pagina


Il preprocessore C

Le direttive


FacebookTwitterLinkedinLinkedin