Co to jest preprocesor?
Zanim omówimy # Zdefiniuj i # undef, musimy wiedzieć o preprocesor.
Preprocesor to program, który występuje przed kompilacją. W preprocesor kodu źródłowego tylko zauważa instrukcje #. Reszta linii pozostaje niezmieniona przez procesor. # nazywa się dyrektywą preprocesor. Każda dyrektywa procesora musi być na własnej linii. Słowo po # nazywa się Preprocessor Command. # Zdefiniuj i # unfin to dyrektywy preprocesor.
Polecenie procesora #Define w języku C
Dyrektywa # definiuje określa identyfikator i sekwencję znaków (zestaw znaków), który zostanie zastąpiony identyfikatorem, który napotkał w pliku źródłowym.
# Zdefiniuj PI 3.14.Zdefiniuj jest nazywane poleceniem preprocesor.
PI nazywa się identyfikatorem lub makro.
3.14 nazywane są sekwencją charakteru.
# nazywa się dyrektywą preprocesor. Wskazuje preprocesor do przetworzenia lub wykonania linii.Po napisaniu dyrektywy przedprocesor. Istnieje wiele rodzajów poleceń obecnych w języku C. Zdefiniuj to jedno z napisanych tutaj poleceń procesorów. Z tymi poleceniami procesor może zrozumieć, co zostanie zrobione.
Następnie piszemy słowo, które nazywa się makro. Tutaj piszemy makro, który nazywa się PI. Można go zapisać zarówno w stolicy, jak i w małych literach. Tutaj piszemy w małym liście.
Po użyciu makro natychmiast napiszemy sekwencję znaków. Sekwencja znaków może być liczbą lub ciągiem. Mogą być dowolnym typem w zależności od wymagań programisty. Tutaj używamy sekwencji znaków 3.14. W całym programie, w którym piszemy PI, preprocesor zastępuje ten PI 3.14. Więc faktycznie ustawiamy wartość PI raz, preprocesor zastępuje wszystkie PI na 3.14. Więc kiedy kompilator kompiluje program, może zobaczyć wszystkie wartości PI do 3.14.
Ogólna składnia
# Zdefiniuj cesencję nazwy makroIdentyfikator jest określany jako nazwa makro i proces wymiany jako wymiana makro.
Przykład
# Zdefiniuj PI 3.14Przykład programowania 1
#włączaćWyjście
Wyjaśnienie
Tutaj używamy polecenia Preprocessor Zdefiniuj. Piszemy wiersz:
#definicja suma (a, b) a+b„#” To dyrektywa preprocesor. Po „#” natychmiast piszemy polecenie zdefiniowania preprocesora. Następnie piszemy identyfikator lub makro o nazwie suma (a, b). Następnie piszemy sekwencję postaci A+B.
Aby zobaczyć dyrektywę „#”, preprocesor może zrozumieć, że jest to linia, którą należy rozwiązać. Pisząc polecenie zdefiniowania, preprocesor może zrozumieć, jaka będzie działanie wykonane przez preprocesor. Następnie makro suma (a, b) i preprocesor A+B zastępują całą sumę makro (a, b) na sekwencję znaków a+b. Oznacza to, że gdy kompilator kompiluje program, może zobaczyć A+B zamiast sumy (a, b) wszędzie, gdzie jest używany. Więc piszemy makro tylko raz i można go używać wiele razy w naszym programie.
Przykład programowania 2
#włączaćWyjście
Wyjaśnienie
Tutaj używamy innego polecenia preprocesor. Piszemy wiersz:
#określić produkt (a, b) a*b„#” To dyrektywa preprocesor. Po „#” natychmiast piszemy polecenie zdefiniowania preprocesora. Następnie piszemy identyfikator lub makro o nazwie produkt (A, B). Następnie piszemy sekwencję postaci a*b.
Aby zobaczyć dyrektywę # preprocesor może zrozumieć, że jest to linia, którą należy rozwiązać. Pisząc polecenie zdefiniowania, preprocesor może zrozumieć, jaka będzie działanie wykonane przez preprocesor. Następnie produkt makro (a, b) i preprocesor A*B zastępują cały produkt makro (a, b) na sekwencję znaków a*b. Oznacza to, gdy kompilator kompiluje program, może zobaczyć*B w miejscu produktu (a, b) wszędzie, gdzie jest używany. Więc piszemy makro tylko raz i można go używać wiele razy w naszym programie.
Rzeczywisty mechanizm tego konkretnego przykładu jest
Produkt (5+6,5-6)Więc wynik to 29.
Przykład programowania 3
#włączaćWyjście
Wyjaśnienie
Tutaj używamy innego polecenia preprocesor. Piszemy wiersz:
#definicja kwadrat (a) a*a„#” To dyrektywa preprocesor. Po „#” natychmiast piszemy polecenie zdefiniowania preprocesora. Następnie piszemy identyfikator lub makro o nazwie Square (a). Następnie piszemy sekwencję postaci a*a.
Aby zobaczyć dyrektywę # preprocesor może zrozumieć, że jest to linia, którą należy rozwiązać. Pisząc polecenie zdefiniowania, preprocesor może zrozumieć, jaka będzie działanie wykonane przez preprocesor. Następnie makro kwadrat (a) i a*preprocesor zastępują cały kwadrat makro (a) na sekwencję znaków a*a. Oznacza to, gdy kompilator kompiluje program, może zobaczyć*a w miejscu kwadratowego (a) wszędzie tam, gdzie jest używany. Więc piszemy makro tylko raz i można go używać wiele razy w naszym programie.
#undefJest używany do nieokreślonych makr. Ilekroć zdajemy sobie sprawę, że w programie nie jest wymagane makro, po prostu piszemy:
#undef makro-nazwaNie ma wymagania żadnej sekwencji znaków.
Przykład programowania 4
#włączaćWyjście
Wyjaśnienie
Tutaj definiujemy makro o imieniu Avishek i zastępuje on sekwencję znaków AVI. Jest również niezdefiniowany przez „#undef”. Ilekroć makro nie jest już wymagane w programie, używamy polecenia PreProcessor Undef, aby nie zdefiniować makro.
Wniosek
Tutaj dowiadujemy się o zastosowaniach „ #” zdefiniuj i # undef szczegółowo. Alternatywnie uczymy się również zastosowań makro. Jak mogę go zastosować i za każdym razem, gdy makro nie jest już wymagane w programie, a następnie nie zdefiniowano go za pomocą „#Undef”. Jest to więc dobra koncepcja w języku programowania C.