PDA

Visualizza la versione completa : [define in C]


nemo74na
20-12-2004, 14:24
Salve,
la riga di codice:
#define pippo (2)

vuol dire definire la variabile pippo e assegnargli uno spazio di memoria di 2 bytes??

Grazie

anx721
20-12-2004, 15:03
Con

#define pippo (2)

stai dicendo al preprocessore di sostituire ongi occorrenza della 'parola' pippo all'interno del programma con (2); quindi se nel programma hai una riga con scritto:

int a = pippo;

prima di compilare, quell airga sarà trasformata dal preprocessore in:

int a = (2);

con define si definisce una macro, che può anche prendere argomenti, e il preprocessore si preocupa di sostituire le macro prima della compilazione; ciò che devi tenere presente è che non dichiari variabili, si tratta semplicemente di sostituire del testo prima della compilazione.

Un esempio di macro con argomenti è :

#define stampa(x) printf("Il valore della variabilè è: %d", x);

con questa macro la riga:

stampa(a);

sarà sostituita da:

printf("Il valore della variabilè è: %d", a);

Loading