Makra w c

Makra w c

„Jak wiesz, C jest dość zróżnicowanym językiem ogólnym i wymyślił wiele różnych struktur. Makra w języku C są przydatne podczas zamiany dużego kodu z jednym kawałkiem kodu linii, aby uniknąć złożoności i więcej. Makra można wykorzystać w kodach C za pomocą słowa kluczowego „#Define”. Chociaż makra mają wiele rodzajów, w tym artykule zademonstrujemy użycie makr obiektowych i makr podobnych do funkcji. Zacznijmy na nowym przewodniku, aktualizując go w powładzie przez zapytanie „Aktualizacja” pokazane na załączonym obrazie. Podaj to zapytanie hasło Linux, aby kontynuować przetwarzanie."

Teraz skonfiguruj użyteczność GCC Linux do kompilacji kodów C w nadchodzących przykładach. W tym celu użyj narzędzia „apt” z zapytaniem „instaluj” i słowem kluczowym „GCC”.

Teraz potrzebujesz pliku kodu C, w którym umieścisz jakiś kod C do gry z różnymi wejściami i wyjściami. Dlatego zalecamy wypróbowanie instrukcji „dotknij” w swojej powładzie Linux dla każdego rodzaju tworzenia plików. Użyj ".C ”rozszerzenie na końcu pliku w celu zidentyfikowania c. Twoje nowo wygenerowane „makro.plik C ”byłby zapisany w bieżącym folderze domowym Linux.

Przykład 01

Otwórz nowy plik C, aby utworzyć nasz pierwszy przykład dla obiektowych makr w nim. Możesz użyć dowolnego edytora z wyboru. Jeśli jesteś ekspertem C, zaleca się użycie edytora „GNU Nano”, a jeśli jesteś po prostu początkującym, wypróbuj edytor „tekstu”. Obaj redaktorzy są dość atrakcyjne i łatwe w użyciu dla początkujących. W ramach tego pliku kodu dodajemy słowo kluczowe „#include” z nagłówkiem „” C na początku, ponieważ jest to biblioteka C do używania standardowych wejść i uzyskania standardowych wyjść przy użyciu prostych funkcji C.

Teraz zdefiniujemy makro, podobnie jak obiekt za pomocą słowa kluczowego „Zdefiniuj”. To obiektowe makro służy do inicjalizacji zmiennej o nazwie „Val” o wartości 14. Nie dodaliśmy żadnego „;” Znaki po instrukcji inicjalizacji, ponieważ tak działają makra i nie wymagają tej samej pełnoprawnej struktury zmiennych lub funkcji. Ta zmienna makro może być wykorzystywana w dowolnym miejscu w kodzie. Rozpoczynamy naszą funkcję Main () do wykonywania z funkcją „printf ()”. Ta funkcja printf () po prostu wyświetla wartość typu ciągów wraz z użyciem zmiennej makro „val” do wyświetlania jej wartości.

Zapiszemy ten prosty i podstawowy kod dla obiektowego wykorzystania makro w C.

#włączać
#definicja Val 14
int main ()
printf („Wartość zdefiniowana jako makro: %d \ n”, val);

Po zapisaniu pliku jego kompilacja jest koniecznością, gdy pracujesz z językami ogólnym, takimi jak C. Dlatego dla kompilacji właśnie zakończonego kodu C odrzucamy polecenie „GCC” z nazwą pliku „Macro.C". To polecenie skompiluje kod w makra.c Plik i wyświetl błędy; Jeśli w ogóle. Teraz, gdy nasz kod jest w pełni skompilowany i bez błędów, odrzucamy „./A.instrukcja „instrukcja” w konsoli do uruchomienia skompilowanego kodu. Wyjście tego kodu C pozwala nam wyświetlić komunikat ciągów wraz z wartością zmiennej makro obiektowej, i.mi., wyświetlał wartość 14 dla zmiennej podobnej do obiektu „Val”.

Przykład 02

Oto ilustracja makro podobnego do funkcji, w której zdefiniujemy funkcję makro, która działa tak samo jak funkcja bez typów powrotu. Zatem definiowaliśmy w sumie 3 makra podobne do funkcji po Stdio.H nagłówek w kodzie Phise-Beelow C. Wszystkie trzy makra wykonują różne operacje na wartościach zmiennych „x” i „y”, które zostaną przekazane przez funkcję main (), i.mi., suma, pomnóż i odejmij. Dwie zmienne całkowite, V1 i V2, są inicjowane w metodzie Main (), a trzy instrukcje printf () są używane do wyświetlania obliczonych wyników poprzez wywołanie makr podobnych do funkcji.

Makro sum () obliczy sumę za pomocą logiki (x+y), makro podobne do funkcji mUL () będzie obliczyć wynik mnożenia za pomocą logiki (x*y), a makro podobne do podrzędnej () Odejmij dwie zmienne za pomocą logiki (x-y). To wszystko dla trzech makr podobnych do funkcji; Zapiszymy je przed kompilacją.

#włączać
#definicja suma (x, y) x+y
#definicja mul (x, y) x*y
#definicja sub (x, y) x-y
int main ()
int v1 = 7, v2 = 14;
printf („suma: %d \ n”, suma (v1, v2));
printf („mnóstwo: %d \ n”, MUL (v1, v2));
printf („subtract: %d \ n”, sub (v1, v2));

Po kompilacji i uruchomieniu kodu C, dane wyjściowe z powodzeniem wyświetliło wynik sum.

Przykład 03

Spójrzmy na ostatni przykład makr podobnych do funkcji. Zdefiniowaliśmy funkcję makro przyjmującą dwie zmienne, „v” i „l” oraz używając pętli While do wykonania części kodu „”, i.mi., Dopóki wartość „V” nie jest mniejsza niż „L”. Część „” będzie nadal drukować „makro” na powładzie za pomocą printf (), aż wartość „v” będzie równa wartości „l” przy użyciu przyrostu „v”. Funkcja main () inicjuje zmienną „V” z wartością „0”. Wezwanie makro podobne do funkcji używa zmiennej „V” wraz z przekazaniem wartości „10” dla zmiennej „L”, aby zdefiniować limit struktury „pętli”. Teraz instrukta.

#włączać
#definicja makro (v, l) (v < l) \
\
printf („Macro”); \
v ++; \

int main ()
int v1 = 0;
Makro (v, 10);

Czas zapisać kod C, skompilować i uruchomić, tak jak na poniższym obrazku. Wyjście tego nowego kodu C pokazuje wyświetlanie słowa „makro” 10 razy na powtarzaniu. Dzieje się tak, ponieważ użyliśmy pętli „while”, aby nadal ją wyświetlać, dopóki „V” nie osiągnie „l” i.mi., L = 10.

Wniosek

Ten przewodnik wyjaśnił cel użycia makr w C w akapicie wprowadzającym i kilka bardzo prostych przykładów do wykazania. Próbowaliśmy użyć obiektowych makr i makr podobnych do funkcji w trzech kolejnych przykładach C i mamy nadzieję, że te przykłady bardzo pomogą programistom C.