Beste svaret
#define er pre-prosessoruttalelse i C Language.
Alle setninger som er prefikset med # er preprosessor uttalelser.
1.
#define MAX\_STUDENTS 200
#define brukes til å erklære makrokonstanter (av hvilken som helst type), som vist ovenfor. Hvis en verdi brukes flere steder, i koden., Blir det enkelt å vedlikeholde koden. Når verdien av MAX\_STUDENTS må endres, må den bare endres i en kode linje i stedet for flere steder.
Ulempen med denne tilnærmingen er feilsøking, gjenkjenner ikke denne verdien.
int arr [MAX\_STUDENTS];
Kan også brukes i betinget kompilering, som vist nedenfor
#define WINDOWS
#ifdef WINDOWS
..
.. code of Windows OS
..
#else
..
.. code of Linux OS
..
#endif
MERK: #undef kan brukes til å undefinere
2.
#define SQUARE (x) (x * x)
makrofunksjoner, er som normale funksjoner, bortsett fra at forprosessoren erstatter metoden samtaler, i stedet for å ringe til funksjonen i løpetid.
Fordeler er at funksjonskall overhead unngås, så utførelse er raskere
SQUARE (2 + 3)
Ulempen er at makrofunksjon ikke oppfører seg som normale funksjoner. Tenk for eksempel på makroanropet SQUARE (2 + 3) ovenfor, noe som gir feil verdi 11, der normal funksjon returnerer 25.
Det anbefales å bruke makrofunksjon (i stedet for normal funksjon), når størrelse er en eller to linjer, og den har ingen bivirkninger, som vist ovenfor.
Svar
#define is a C preprosessor direktiv brukes til å definere makroer .
La oss bryte det ned.
Et forprosessordirektiv er en programerklæring som påkalles før programkompilering finner sted. Egentlig, hvilken som helst linje fulgt av en # -tegnet er en forprosessor. Dette inkluderer også inkluderer -direktivet. Forprosessordirektivene brukes til å gi generell instruksjon eller nødvendige data som brukes inne i et program.
En makro er en blokk med kode som har fått et navn. Enhver forekomst av dette navnet blir repla seder av verdien av makroen. Si, jeg definerte makro med navnet AMOUNT som har verdien 200. Nå hver gang ordet AMOUNT brukes i programmet erstattes det med tallet 200 før kompilering. I motsetning til variabler der data faktisk lagres inne i dem, makroer oppfør deg som aliasnavn.
Syntaks for #define directive er som følger:
#define MACRONAME value
ELLER
#define MACRONAME (expression)
En makro kan tildeles en numerisk samt et tegn (må være inne i anførselstegn). Makroer kan brukes som andre konstante variabler.
Du kan også avdefinere en makro ved hjelp av #undef-direktivet. Her er syntaksen:
#undef MACRONAME
//MACRONAME can no longer be used in the program
Jeg håper svaret mitt var nyttig.