31
PREPROCESOR
Innym zastosowaniem komentarzy jest chwilowe usuwanie fragmentów kodu. Jeśli część programu źk* działa i chcemy ją chwilowo wyłączyć, albo fragment kodu jest nam już niepotrzebny, ale mamy wątpliwości, czy w przyszłości nic będziemy chcieli go użyć umieszczamy go po prostu wewnątrz komentarza.
Podczas obejmowania chwilowo niepotrzebnego kodu w komentarz trzeba uważać na jedną subtelność. Otóż komentarze /* * / w języku C nic mogą być zagnieżdżone. Trzeba na to uważać, gdy chcemy objąć komentarzem obszar w którym już istnieje komentarz (należy wtedy usunąć wewnętrzny komentarz). W nowszym standardzie C dopuszcza się, aby komentarz typu /* */ zawierał w solne komentarz //.
Po polsku czy angielsku?
Jak już wcześniej było wspomniane, zmiennym i funkcjom powinno się nadawać nazwy, które odpowiadają ich znaczeniu. Zdecydowanie łatwiej jest czytać kod. gdy średnią liczb przechowuje zmienna średnia niż a a znajdowaniem maksimum w ciągu liczi) zajmuje się funkcja max albo znajdz_max niż nazwana i. Często nazwy funkcji to właśnie czasowniki.
Powstaje pytanie, w jakim języku należy pisać nazwy. Jeśli chcemy, by nasz kod mogły czytać osoby nieznające polskiego — warto użyć języka angielskiego. Jeśli nie można bez probkunu użyć polskiego. Bardzo Istotne jest jednak, by nie mieszać języków. Jeśli z<k*cydowaliśmy się używać polskiego, używajmy go od początku do końca: przeplatanie ze sol)ą dwóch języków robi złe wrażenie.
Nie cały napisany przez ciebie kod l>ędzie przekształcany przez kompilator 1k*z|>o-średnio na kod wykonywalny programu. W wielu przypadkach będzk*sz używać pok*ceń “skierowanych do kompilatora", tzw. dyrektyw kompiłacyjnych. Na początku procesu kompilacji, specjalny podprogram, tzw. preprocesor, wyszukuje wszystkie dyrektywy kompilacyjne, i wykonuje odpowiednie akcje które polegają notabene na edycji kodu źródłowego (np. wstawieniu deklaracji funkcji, zamianie jednego ciągu znaków na inny). Właściwy kompilator, zamieniający kod C na kcal wykonywalny, nie napotka już dyrektyw kompiłacyjnych, ponieważ zostały one przez preprocesor usunięte, po wykonaniu odpowiednich akcji.
W C dyrektywy kompilacyjne zaczynają się od znaku hash (#). Przykładem najczęściej używanej dyrektywy, jest #include. która jest użyta nawet w tak prostym programie jak “Hello, World!". #include nakazuje preprocesorowi włączyć (ang. inc-lude) w tym miejscu zawartość podanego pliku. tzw. pliku nagłówkowego: najczęściej to będzie plik zawierający funkcje z którejś biblioteki standardowej (stdio.h — STandard Input-Output, rozszerzenie .h oznacza plik nagłówkowy C). Dzięki temu, zamiast wkle-jać do kodu swoje*go programu deklaracje kilkunastu, a nawet kilkudziesięciu funkcji, wystarczy wpisać jedną magiczną linijkę!
Identyfikatory, czyli nazwy zmiennych, stałych i funkcji mogą składać się z liter (bez polskich znaków), cyfr i znaku podkreślenia z tym, że nazwa taka nie może zaraynać się od cyfry. Nie można używać nazw zarezerwowanych (patrz: Składnia).
Przykłady błędnych nazw: