Bästa svaret
#define är pre processor statement i C Language.
Alla uttalanden som är prefixade med # är preprocessor uttalanden.
1.
#define MAX\_STUDENTS 200
#define används för att deklarera makrokonstanter (av vilken typ som helst), som visas ovan. Om ett värde används ett antal platser, i koden., Blir det enkelt att underhålla koden. När värdet på MAX\_STUDENTS behöver ändras behöver det bara ändras i en kodrad istället för flera platser.
Nackdelen med denna metod är felsökare, känner inte igen detta värde.
int arr [MAX\_STUDENTS];
Kan också användas i villkorlig sammanställning, som visas nedan
#define WINDOWS
#ifdef WINDOWS
..
.. code of Windows OS
..
#else
..
.. code of Linux OS
..
#endif
OBS: #undef kan användas för att undefiniera
2.
#define SQUARE (x) (x * x)
makrofunktioner är som normala funktioner, förutom att förprocessorn ersätter metodanropen istället för att anropa funktionen under körtiden.
Fördelar med att funktionssamtalskostnader undviks, så körningen går snabbare
SQUARE (2 + 3)
Nackdelen är att makrofunktionen inte fungerar som normala funktioner. Tänk till exempel ovan makroanrop SQUARE (2 + 3), vilket resulterar i fel värde 11, där normalfunktionen returnerar 25.
Det rekommenderas att använda makrofunktionen (istället för normal funktion), när storlek är en eller två rader, och det har inga biverkningar, som visas ovan.
Svar
#define is a C förprocessor direktiv används för att definiera makron .
Låt oss bryta ner det.
Ett förprocessordirektiv är ett programuttalande som åberopas innan programkompileringen äger rum. Egentligen, vilken rad som helst följt av en # karaktär är en förprocessor. Detta inkluderar även inkludera -direktivet. Förprocessordirektiven används för att tillhandahålla allmän instruktion eller erforderlig data som används inuti ett program.
Ett makro är ett kodblock som har fått ett namn. Varje förekomst av det namnet repla av makrovärdet. Säg, jag definierade makro med namnet AMOUNT som har ett värde på 200. Nu varje gång ordet AMOUNT används i programmet ersätts det med siffran 200 före sammanställning. Till skillnad från variabler där data faktiskt lagras inuti dem, makron agera snarare som aliasnamn.
Syntax för #define directive är som följer:
#define MACRONAME value
ELLER
#define MACRONAME (expression)
Ett makro kan tilldelas ett numeriskt såväl som ett tecken (måste vara inom citat). Makron kan användas som alla andra konstanta variabler.
Du kan också avdefiniera ett makro med #undef-direktivet. Här är syntaxen:
#undef MACRONAME
//MACRONAME can no longer be used in the program
Jag hoppas att mitt svar var till hjälp.