Kurs programowania w C cz.23

Nasza ocena:

5
Pobrań: 7
Wyświetleń: 539
Komentarze: 0
Notatek.pl

Pobierz ten dokument za darmo

Podgląd dokumentu
Kurs programowania w C cz.23 - strona 1

Fragment notatki:

36 ROZDZIAŁ 7. ZMIENNE Dobrze jest używać stałych w programie, ponieważ unikniemy wtedy przypadko- wych pomyłek a kompilator może często zoptymalizować ich użycie (np. od razu pod- stawiając ich wartość do kodu). const int WARTOSC_POCZATKOWA=5; int i=WARTOSC_POCZATKOWA; WARTOSC_POCZATKOWA=4; /* tu kompilator zaprotestuje */ int j=WARTOSC_POCZATKOWA; Przykład pokazuje dobry zwyczaj programistyczny, jakim jest zastępowanie umiesz- czonych na stałe w kodzie liczb stałymi. W ten sposób będziemy mieli większą kontrolę nad kodem — stałe umieszczone w jednym miejscu można łatwo modyfikować, zamiast szukać po całym kodzie liczb, które chcemy zmienić. Nie mamy jednak pełnej gwarancji, że stała będzie miała tę samą wartość przez cały czas wykonania programu. Możliwe jest dostanie się do wartości stałej pośrednio — za pomocą  wskaźników.  Można zatem dojść do wniosku, Å¼e słowo kluczowe const służy tylko do poinformowania kompilatora, aby ten nie zezwalał na jawną zmianę wartości stałej. Z drugiej strony, zgodnie ze standardem, próba modyfikacji wartości stałej ma niezdefiniowane działanie (tzw.  undefined behaviour  ) i w związku z tym może się powieść lub nie, ale może też spowodować jakieś subtelne zmiany, które w efekcie spowodują, Å¼e program będzie Åºle działał. Podobnie do zdefiniowania stałej możemy użyć dyrektywy preprocesora  #define (opisanej w dalszej części podręcznika). Tak zdefiniowaną stałą nazywamy  stałą sym- boliczną . W przeciwieństwie do stałej zadeklarowanej z użyciem słowa  const  stała zdefiniowana przy użyciu #define jest zastępowana daną wartością w każdym miejscu, gdzie występuje, dlatego też może być używana w miejscach, gdzie â€œnormalna” stała nie mogłaby dobrze spełnić swej roli. W przeciwieństwie do języka  C++,  w C stała to cały czas zmienna, której kompila- tor pilnuje, by nie zmieniła się. Z tego powodu w C nie można użyć stałej do określenia wielkości  tablicy1  i należy się w takim wypadku odwołać do wcześniej wspomnianej dyrektywy #define. Typy zmiennych Każdy program w C operuje na zmiennych â€” wydzielonych w pamięci komputera obszarach, które mogą reprezentować obiekty nam znane, takie jak liczby, znaki, czy też bardziej złożone obiekty. Jednak dla komputera każdy obszar w pamięci jest taki sam â€” to ciąg zer i jedynek, w takiej postaci zupełnie nieprzydatny dla programisty

(…)

danych? W takim wypadku stosujemy konwersję
1 Jest
to możliwe w standardzie C99

... zobacz całą notatkę



Komentarze użytkowników (0)

Zaloguj się, aby dodać komentarz