Linguaggio C, direttive #if #endif

di il
3 risposte

Linguaggio C, direttive #if #endif

Ciao ragazzi! Sto studiando le struct e leggendo la dispensa del prof sono arrivato a questo punto:

Esempio 5.61. Nel seguente frammento di codice, viene de?nito il tag di
struttura persona, successivamente utilizzato nelle dichiarazioni delle
variabili persona_1, persona_2 e persona_3.

// File persona-tag.h
#ifndef PERSONATAG_H
#define PERSONATAG_H
// Definizione tag struttura
struct persona{
char *nome, *cognome;
short int giorno, mese, anno;
};
#endif
// File persona-tag.c
#include "persona-tag.h"
int main(int argc, char** argv){
//...
struct persona persona_1, persona_2;
//...
struct persona persona_3;
}
PERSONATAG_H cos'è? Inoltre, potreste spiegarmi brevemente le direttive #if, #elif, #else e #endif?

Mi stavo documentando sul sito della Microsoft:
http://msdn.microsoft.com/it-it/library/ew2hz0yd.asp

La direttiva #if, con le direttive #elif, #else e #endif, controlla la compilazione di parti di un file di origine. Se l'espressione scritta (dopo #if) presenta un valore diverso da zero, il gruppo di righe immediatamente successivo alla direttiva #if viene mantenuto nell'unità di conversione.

Cosa vuol dire quanto scritto sopra in grassetto? Unità di conversione

Grazie

3 Risposte

  • Re: Linguaggio C, direttive #if #endif

    Scusa, ma questa, più che una domanda da forum è una richiesta da "corso di formazione"...

    Ho capito che si possono avere dei dubbi, ma il forum non è un docente gratuito a disposizione ...

    Un consiglio ... non usare traduzioni online ... il testo originale è

    The #if directive, with the #elif, #else, and #endif directives, controls compilation of portions of a source file. If the expression you write (after the #if) has a nonzero value, the line group immediately following the #if directive is retained in the translation unit.

    e la translation unit secondo lo standard c++ è l'unità di base di compilazione in C++, ovvero un singolo file sorgente, .h o .cpp che sia.
  • Re: Linguaggio C, direttive #if #endif

    Ah, capito. Scusate! Come elimino la domanda?
  • Re: Linguaggio C, direttive #if #endif

    Magari poni le domande una per volta, in un thread opportuno ...
Devi accedere o registrarti per scrivere nel forum
3 risposte