logo

#definujte v C

V programování v C, #definovat je direktiva preprocesoru, která se používá k definování maker. Makra jsou identifikátory definované pomocí #define, které jsou před kompilací nahrazeny svou hodnotou. Konstanty a funkce jako makra můžeme definovat pomocí #define. Generika v C jsou také implementována pomocí direktivy #define preprocessor spolu s _Obecný.

Syntaxe jazyka C #define

Syntaxe #define směrnice preprocesoru v C je:



Pro definování konstant

  #define   MACRO_NAME   value>

Pro definování výrazů

  #define   MACRO_NAME   (expression within brackets)>

Pro definování výrazu s parametry

Argumenty předané v makrech lze použít ve výrazu.

  #define   MACRO_NAME(  ARG1, ARG2  ,..)   (expression within brackets)>

Existuje několik dalších způsobů, jak definovat makra. Chcete-li vědět více, podívejte se na tento článek - Makra a jejich typy v C

Příklady C #define

Příklad 1:

V níže uvedeném příkladu jsme definovali makro „PI“ a přiřadili mu konstantní hodnotu, kterou můžeme později v programu použít k výpočtu plochy kruhu.



C


jak číst soubor json





// C Program to illustrate how to use #define to declare> // constants> #include> > // Defining macros with constant value> #define PI 3.14159265359> > int> main()> {> > >int> radius = 21;> >int> area;> > >// Using macros to calculate area of circle> >area = PI * radius * radius;> > >printf>(>'Area of Circle of radius %d: %d'>, radius, area);> > >return> 0;> }>

>

>

Výstup

Area of Circle of radius 21: 1385>

Příklad 2:

V níže uvedeném příkladu jsme definovali makro „PI“ a přiřadili mu výraz a tato hodnota výrazu je použita v programu pomocí „PI“.

C


kolik kláves má klávesnice



// C Program to illustrate the defining of expression using> // #define> #include> > // Defining macros with expression> #define PI (22 / 7)> > int> main()> {> > >int> radius = 7;> >int> area;> > >// Using macros to calculate area of circle> >area = PI * radius * radius;> > >printf>(>'Area of Circle of radius %d: %d'>, radius, area);> > >return> 0;> }>

>

>

Výstup

Area of Circle of radius 7: 147>

Příklad 3:

V níže uvedeném příkladu jsme definovali dvě makra CIRCLE_AREA a SQUARE_AREA s parametrem a tento parametr se používá ve výrazu k výpočtu plochy kruhu a čtverce .

syntaxe git pull

C




// C Program to define the function like macros using> // #define> #include> > // Defining parameterized macros with expression> #define CIRCLE_AREA(r) (3.14 * r * r)> #define SQUARE_AREA(s) (s * s)> > int> main()> {> > >int> radius = 21;> >int> side = 5;> >int> area;> > >// Using macros to calculate areas by> >// passing argument> >area = CIRCLE_AREA(radius);> >printf>(>'Area of Circle of radius %d: %d '>, radius,> >area);> > >area = SQUARE_AREA(side);> >printf>(>'Area of square of side %d: %d'>, side, area);> > >return> 0;> }>

>

>

Výstup

Area of Circle of radius 21: 1384 Area of square of side 5: 25>

Důležité body

  • Makra deklarovaná pomocí #define se používají k ukládání konstant a nelze je měnit. nemůžeme makrům přiřadit proměnné.
  • Nemůžeme použít '=' operátor pro přiřazení hodnoty makrům (např. #define PI 3.14 ).
  • Nepoužíváme středník ';' na konci příkazu v #define.