38916

38916



35


CZYM SĄ ZMIENNE?

int a=l; /* zmienna globalna */

int main()

{

int a=2;    /* to już zmienna lokalna */

printf ("W, a); /* wypisze 2 */

Czas życia

Czas życia to czas od momentu przydzielenia dla zmiennej miejsca w |>a mięci (stworzenie obiektu) do momentu zwolnienia miejsca w j>a mięci (likwidacja obiektu). Zakres ważności to część programu, w której nazwa znana jest kompilatorowi.

main()

{

int a ■ 10;

{    /* otwarcie lokalnego bloku */

int b - 10;

printf ("'/.d '/.d", a, b) ;

>    /* zamknięcie lokalnego bloku, zmienna b jest usuwana */

printf ("7«d */,d", a, b);    /* BŁĄD: b juz nie istnieje */

}    /• tu usuwana jest zmienna a •/

Zdefiniowaliśmy dwie zmienne typu int. Zarówno o i b istnieję przez cały program (czas życia). Nazwa zmiennej a jest znana kompilatorowi przez cały program. Nazwa zmiennej b jest znana tylko w lokalnym bloku, dlatego nastąpi błąd w ostatniej instrukcji.

Niektóre kompilatory (prawdopodobnie można tu zaliczyć Microsoft Visual C++ do wersji 2003) uznają powyższy kod za poprawny! W dodatku można ustawić w opcjach niektórych kompilatorów zachowanie w takiej sytuacji, włącznie z zachowaniami niezgodnymi ze standardem języka!


Możemy świadomie ograniczyć ważność zmiennej do kilku linijek programu (tak j.ik robiliśmy wyżej) tworząc bk)k. Nazwa zmiennej jest znana tylko w tym bloku.

{

>

Stałe

Stała, różni się od zmiennej tylko tym, że nie można jej przypisać innej wartości w trakcie działania programu. Wartość stałej ustala się w kodzie programu i nigdy ona nie ulega zmianie. Stałą deklaruje się z użyciem słowa kluczowego const w sposób następujący:

const typ nazwa.stałej-wartość;



Wyszukiwarka

Podobne podstrony:
globalne Pamięć, w której umieszczone są zmienne globalne i statyczne jest zerowana przed uruchomien
DSC07374 przyjadel/wróg, ale są one teraz wyrażane w słowniku moralności. Oczywiście zjawisko to już
FILTR NOI w procesorze TMS320C67134 //zmienne globalne intl6 BUF[8); //tymczasowy bufor int pos; //z
SDC11423 Zmienne globalne Zmienne globalne znane są w całym programie i można z nich korzystać w dow
SDC11423 Zmienne globalne Zmienne globalne znane są w całym programie i można z nich korzystać w dow
7    Zmienne    23 Czym są
SDC11423 Zmienne globalne Zmienne globalne znane są w całym programie i można z nich korzystać w dow
ANSI C 5 1 ELEMENTARZ Program wygląda prawie tak samo jak poprzednio, przy czym teraz zmienne fahr
20131126 1124 - dla obciążeń stałych niekorzystnych 7c = 1,35 - dla obciążeń zmiennych niekorzystny
Poznaj C++ w$ godziny0165 154 Godzina 11 Wskaźniki są zmiennymi przechowującymi adresy innych obiekt

więcej podobnych podstron