Concetti Chiave

  • La direttiva #include ha due varianti: la prima cerca i file nelle directory standard del compilatore, la seconda nella directory corrente.
  • Le direttive condizionali come #if, #ifdef e #ifndef consentono di escludere porzioni di codice dalla compilazione in base a condizioni specifiche.
  • Ogni direttiva condizionale deve essere chiusa con #endif, che deve apparire una sola volta nel contesto delle direttive aperte.
  • È possibile utilizzare più direttive #elif per gestire casi aggiuntivi, mantenendo sempre #endif come chiusura finale.
  • La direttiva #else fornisce un'alternativa quando le condizioni di #if, #ifdef e #ifndef non vengono soddisfatte, offrendo flessibilità nel codice.

Tipi di direttiva include

La direttiva #include può essere di due diversi tipi:

- #include , i file vengono cercate nelle directory standard note al compilatore dove sono salvati i file utili a programmare in C, ovvero i file header comuni a tutti

- #include “file”, i file che vengono cercate nella directory corrente, ovvero nella stessa cartella dove è contenuto il file che contiene l’istruzione in questione

Utilizzo delle direttive condizionali

È possibile utilizzare le direttive #include in modo che esse siano nidificate.

Le direttive condizionalialialialialialiali per il preprocessore #if, #ifdef, #ifndef sono utilizzate per escludere una parte di codice dalla compilazione se si verificano determinate condizioni, utili per attivare o disattivare parti del codice, per includere o meno file senza usare commenti.
Se si utilizza ognuna di queste tre direttive, la direttiva deve terminare con la direttiva #endif, che può essere presente una sola volta in tutto il costrutto, altrimenti se necessario perché presenti più direttive si può usare più volte #elif, ma comunque #endif va sempre per ultimo.

- #if espressione-costante-intera: considerata solo se risultato diverso da 0, solo se definita

- #ifdef macro: considerata solo se macro e gia stata definita e non commentata

- #ifndef macro: considerata solo se macro non e stata definita

- #else: considerata come alternativa quando #if, #ifdef, #ifndef non vengono considerate


Domande da interrogazione

  1. Quali sono i due tipi di direttiva #include e come si differenziano?
  2. Le direttive #include possono essere di due tipi: la prima è `#include` che cerca i file nelle directory standard del compilatore, mentre la seconda è `#include "file"` che cerca i file nella directory corrente, ovvero nella stessa cartella del file sorgente.

  3. Come si utilizzano le direttive condizionali nel preprocessore?
  4. Le direttive condizionali come #if, #ifdef e #ifndef permettono di escludere parti di codice dalla compilazione in base a determinate condizioni. Queste direttive devono terminare con #endif, e possono essere nidificate per gestire complessità nel codice.

  5. Qual è la funzione delle direttive #if, #ifdef e #ifndef?
  6. La direttiva #if valuta un'espressione costante, #ifdef verifica se una macro è definita, e #ifndef controlla se una macro non è definita. Queste direttive consentono di attivare o disattivare parti del codice senza l'uso di commenti.

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community