W programowaniu C, #definiować to dyrektywa preprocesora używana do definiowania makr. Makra to identyfikatory zdefiniowane przez #define, które przed kompilacją są zastępowane ich wartością. Możemy definiować stałe i funkcje, takie jak makra, za pomocą #define. Generyki w C są również implementowane przy użyciu dyrektywy preprocesora #define wraz z _Ogólny.
losowa liczba w Javie
Składnia języka C #define
Składnia #define dyrektywa preprocesora w C jest:
Do definiowania stałych
#define MACRO_NAME value>
Do definiowania wyrażeń
#define MACRO_NAME (expression within brackets)>
Do definiowania wyrażeń z parametrami
W wyrażeniu można użyć argumentów przekazywanych w makrach.
#define MACRO_NAME( ARG1, ARG2 ,..) (expression within brackets)>
Istnieje jeszcze kilka sposobów definiowania makr. Aby dowiedzieć się więcej, zapoznaj się z tym artykułem – Makra i ich typy w C
Przykłady C #define
Przykład 1:
W poniższym przykładzie zdefiniowaliśmy makro 'LICZBA PI' i przypisaliśmy mu stałą wartość, którą możemy wykorzystać w dalszej części programu do obliczenia pola koła.
C
// 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;> }> |
>
wartość logiczna Java
>Wyjście
Area of Circle of radius 21: 1385>
Przykład 2:
W poniższym przykładzie zdefiniowaliśmy makro 'LICZBA PI' i przypisano mu wyrażenie, a wartość tego wyrażenia zostanie użyta w programie używającym 'LICZBA PI'.
C
naucz się selenu
// 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;> }> |
>
>Wyjście
Area of Circle of radius 7: 147>
Przykład 3:
W poniższym przykładzie zdefiniowaliśmy dwa makra OKRĄG_OBSZAR I KWADRAT_OBSZAR z parametrem i parametr ten jest używany w wyrażeniu do obliczania odpowiednio pola koła i kwadratu .
C
liczyć osobno
// 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;> }> |
posortowana lista tablic w Javie
>
>Wyjście
Area of Circle of radius 21: 1384 Area of square of side 5: 25>
Ważne punkty
- Makra zadeklarowane przy użyciu #define służą do przechowywania stałych i nie można ich zmieniać. nie możemy przypisywać zmiennych do makr.
- Nie możemy skorzystać z „=” operator do przypisania wartości do makr (np. #zdefiniuj PI 3.14 ).
- Nie używamy średnika ';' na końcu instrukcji w #define.