Serwisy partnerskie:
Close icon
Serwisy partnerskie

Sprytne porady i sztuczki cyklu Ekscytacje Maxa dotyczące kodowania (5)

Article Image
W poprzednim odcinku (EdW 01/2024) obiecałem, że w tym miesiącu zastanowimy się, w jaki sposób operatory << i >> wykonują swoją magię. Niestety, będziemy musieli odłożyć to na później, ponieważ czytelnik David R Humrich, który pochodzi z Perth w Australii, wysłał mi e-mail z dość interesującym pytaniem dotyczącym użycia nawiasów klamrowych { }.

Zanim zajmiemy się pytaniem Davida, przypomnijmy, że { } może być używane do tworzenia tak zwanych „instrukcji złożonych”. Jest to mechanizm używany przez język programowania C do grupowania wielu instrukcji w coś, co można uznać za pojedynczą instrukcję.

Rozważmy na przykład, co się stanie, gdy zdefiniujemy funkcję o nazwie MyFunction ():

void MyFunction ()
{
 // Udawaj, że ten komentarz jest oświadczeniem
 // Udawaj, że ten komentarz jest oświadczeniem
 // Udawaj, że ten komentarz jest oświadczeniem
}

Kiedy wywołujemy tę funkcję z innego miejsca w programie, komputer „widzi” wszystkie instrukcje w funkcji jako tworzące jedną logiczną całość.

To samo dzieje się, gdy używamy { } wraz z instrukcją sterującą, taką jak if (). Po pierwsze, załóżmy, że jeśli warunek jest prawdziwy, chcemy wykonać tylko jedną akcję, w którym to przypadku moglibyśmy napisać to w następujący sposób:

 if (done == true)
  fred = fred + 1;

Zakładamy oczywiście, że zmienne done i fred zostały zadeklarowane w innym miejscu programu. Załóżmy teraz, że chcemy wykonać kilka akcji, jeśli nasz warunek jest prawdziwy. Można to zrobić w następujący sposób:

 if (done == true) fred = fred + 1;
 if (done == true) jane = jane – 1;
 if (done == true) bert = fred + jane;

Oprócz tego, że wygląda to głupio, jest to nieefektywne, ponieważ wykonujemy ten sam test trzy razy. Ten przykład wzywa nas do użycia instrukcji złożonej w następujący sposób:

 if (done == true) // Równe powyższemu
 {
  fred = fred + 1;
  jane = jane – 1;
  bert = fred + jane;
 }

W tym przypadku złożone oświadczenie jest zarówno bardziej wydajne, jak i jaśniejsze, co próbujemy osiągnąć.

Aby przeczytać ten artykuł kup e-wydanie
Kup teraz
Firma:
Tematyka materiału: PROGRAMOWANIE ARDUINO, C/C++, użycie nawiasów klamrowych { }
AUTOR
Źródło
Elektronika dla Wszystkich luty 2024
Udostępnij
Zobacz wszystkie quizy
Quiz weekendowy
Edukacja
1/10 Jak działa rezystor LDR?
Oceń najnowsze wydanie EdW
Wypełnij ankietę i odbierz prezent
W tym numerze znajdziesz źródłową wersję artykułu publikowanego obok
Elektronika dla Wszystkich
luty 2024
Elektronika dla Wszystkich
Przejrzyj i kup
UK Logo
Elektronika dla Wszystkich
Zapisując się na nasz newsletter możesz otrzymać GRATIS
najnowsze e-wydanie magazynu "Elektronika dla Wszystkich"