38917

38917



36


ROZDZIAŁ 7. ZMIENNE

Dobrze jest używać stałych w programie, ponieważ unikniemy wtedy przypadkowych pomyłek a kompilator może często zoptymalizować ich użycie (np. od razu podstawiając ich wartość do kodu).

const int WARTOSC.POCZATKOWA-5; int i«WART0SC_POCZĄTKOWĄ;

WART0SC_P0CZATK0WA=4;    /1 tu kompilator zaprotestuje 1/

int j-WARTOSC.POCZATKOWA;

Przykład pokazuje dobry zwyczaj programistyczny, jakim jest zastępowanie umieszczonych na stale w kodzie liczb stałymi. W ten sposób będziemy mieli większą kontrolę nad kodem — stale umieszczone w jednym miejscu można łatwo modyfikować, zamiast szukać jk> całym kodzie liczb, które chcemy zmienić.

Nie marny 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 |>oinfonnownnia 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 behamour) i w związku z tym może się powieść lub nic. 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łą symboliczną. W przeciwieństwie do stałej zadeklarowanej z użyciem słowa const stała zdefiniowana przy użyciu #defuie 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 kompilator 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 ttdefine.

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 i użytkownika. Podczas pisania programu musimy wskazać, w jaki sposób ten ciąg ma być interpretowany.

Typ zmiennej wskazuje właśnie sposób, w jaki pamięć, w której znajduje się zmienna będzie wykorzystywana. Określając go przekazuje się kompilatorowi informację, ile pamięci trzelła zarezerwować dla zmiennej, a także w jaki sposób wykonywać na nim operacje.

Każda zmienna musi mieć określony swój typ w miejscu deklaracji i tego typu nie może już zmienić. Lecz co jeśli inamy zmienną jednego typu. ale potrzebujemy w pewnym miejscu programu innego typu danych? W takim wypadku stosujemy konwersję

1

Jest to możliwo w standardzie C99



Wyszukiwarka

Podobne podstrony:
Poznaj C++ w$ godziny0047 Zmienne i stałe 31Kiedy używać short a kiedy long Jednym z problemów progr
cz7 Programowanie Programowanie tiriśigned; jnt typ zmiennej wypisywana jest, dziesiętne, liczba że
Operatory i wyrażenia• Wyrażenie jest kombinacją stałych, zmiennych i operatorów, stosowaną do zapis
10 (47) 198 9. Funkcje w ielu zmiennych Zatem £ b,kakj =    lub (91) Ponieważ B jest
244 TIF Istnieje milion różnych sposobów sortowania. No dobrze, to przesada. Jest ich kilkaset. Prog
128 W. Kramarz architektura procesów nie jest zbyt skomplikowana. Programy do rysowania nadają się d
ANSI C 2 4 FUNKCJE I STRUKTURA PROGRAMU Deklaracja double sum, atof(char[ ]); mówi, że zmienna sum
fotki3 W dalszym icicsae Konsekwentnie oęazicmy używać nowa manipulator, ponieważ większość przykła
geolog lab23 Dolomity - skały utworzone z minerału dolomitu i zmiennych ilości kalcytu (Ca,Mg CO3).

więcej podobnych podstron