Considera il seguente codice:
INIZIOIl codice sopra non è un codice C valido.
Ma il seguente codice è valido:
//Esempio 1.CPrima della compilazione, la macro start, intero, stampa e fine è stata sostituita dal loro valore e il codice diventa un codice C valido. Possiamo controllare usando il seguente comando:
GCC -e Esempio1.CQuesto comando mostrerà dopo aver espanso tutte le macro.
Ora vedremo diversi tipi di macro:
1. Macro simili a oggetti:
Sintassi:
#define macro_name macro_valueSe la macro prende più di una riga, possiamo farlo come segue:
#define macro_name macro_value1 \Questa macro sembra un oggetto dati ecco perché questo tipo di macro chiamato macro simile a oggetti.
// Esempio2.CIn Exapmle2.C, max è una macro. Dall'output, lo osserviamo Max è sostituito dal suo valore 200.
2. Macro simili a funzioni:
Sintassi:
#define macro_name () macro_valuemacro_name è un nome definito dall'utente della macro. La coppia di parentesi deve mettere dopo il macro_name. Nessun spazio è consentito tra macro_name e parentesi. Possiamo anche passare argomenti in questo tipo di macro.
#define aggiungi (x, y) x+yQuesta macro sembra una chiamata di funzione ecco perché questo tipo di macro chiamato macro simile a una funzione.
// Esempio3.CNell'esempio3.C, Abbiamo visto che, a differenza della funzione di C, la macro sostituisce solo il codice con argomenti senza calcolarlo. Quindi, possiamo passare un tipo di dati diverso usando la stessa macro.
Se mettiamo uno spazio tra il nome macro e la parentesi, funziona come una macro simile a oggetti. Sotto c Esempio lo illustra questo.
// Esempio4.CIn Esempio4.C, abbiamo visto che l'aggiunta macro è sostituita da (x, y) x+y . Come una macro simile a oggetti.
3. Macro per incollaggio di token:
In C linguaggio, l'operatore ## viene utilizzato per incollaggio token. Usando questo operatore, possiamo combinare due token validi in un token valido.
Esempio:
Se proviamo a mettere in scena incolla che non genera un token valido, il compilatore C fornisce un errore o un avvertimento.
// Esempio6.CIn Esempio6.C, Abbiamo un messaggio di errore perché, dopo una combinazione di due token, otteniamo un token non valido '52+'.
4. Macro per la stringa:
In lingua C, l'operatore # viene utilizzato per convertire un macro parametro in una costante di stringa. Quando un operatore # precede un parametro macro, il parametro si converte in una stringa letterale. La stringa può essere utilizzata per le macro simili a oggetti e funzionalità.
Esempio:
In Esempio7.C Abbiamo una stringa "ciao mondo" usando la macro di stringa.
Conclusione:
Questo articolo ha appreso tutti i tipi di macro Macro simili a oggetti, Macro simili a funzionalità, Macro per incollaggio di token, Macro per stringarsi e macro per la stringa in lingua C. Ora possiamo usare una macro nel nostro programma C senza dubbio.