Język C - wprowadzenie 
Zmienne lokalne i zmienne globalne - wprowadzenie

Powiedzieliśmy już, że zmienne to nazwane komórki pamięci. Należy rozróżnić dwa aspekty związane ze zmiennymi:

Na ogół czas życia zmiennej nie pokrywa się z czasem wykonywania instrukcji, w których zmienna jest widoczna (dostępna za pomocą identyfikatora). Szczegóły przedstawimy w dalszej części kursu. Teraz odnotujemy tylko dwie podstawowe sytuacje:

Podkreślamy, że powyższa lista nie jest kompletna - szczegóły będą w dalszej części kursu.

 
int z; // zmienna globalna, inicjalizowana zerem
 
int main()
{
  int k; // zmienna lokalna, może mieć losową wartość
}
  • zmienne globalne są inicjalizowane domyślnymi wartościami typu jeszcze przed rozpoczęciem wykonywania programu. W szczególności zmienne globalne typu liczbowego będą zainicjalizowane zerem.
  • zmienne lokalne nie są inicjalizowane! Oznacza to, że mogą mieć zupełnie losową wartość, zależną od tego, co pozostało w pamięci po poprzednio wykonywanych instrukcjach (możliwe, że innego programu)
Materiały przeznaczone wyłącznie dla studentów
Instytutu Informatyki i Matematyki Komputerowej UJ
Daniel Wilczak