41
UWAGI
void dodaj(int liczba)
{
int zmienna - 0;
zmienna ■ zmienna + liczba;
printf ("Wartość zmiennej '/,d\n", zmienna);
Gdy wywołamy tę funkcję np. 3 razy w ten sposób:
dodaj(3); dodaj(5); dodaj(4);
to ujrzymy na ekranie:
Wartość zmiennej Zmienna:3 Wartość zmiennej Zmienna:5 Wartość zmiennej Zmienna:4
jeżeli jednak deklarację zmiennej zmienimy na static int zmienna = 0. to wartość zmiennej zostanie zachowana i po podobnym wykonaniu funkcji powinnyśmy ujrzeć:
Wartość zmiennej Zmienna:3 Wartość zmiennej Zmienna:8 Wartość zmiennej Zmienna:12
Zupełnie co innego oznacza static zastosowane dla zmiennej globalnej. Jest ona wtedy widoczna tylko w jednym pliku. Zobacz też: rozdział Biblioteki.
Przez extern oznacza się zmienne globalne zadeklarowane w innych plikach informujemy w ten sposób kompilator, żeby nie szukał jej w aktualnym pliku. Zobacz też: rozdział Biblioteki.
Zupełnym arcliaizinem jest modyfikator auto. który oznacza tyle. że zmienna jest lokalna. Ponieważ zmienna zadeklarowana w dowolnym bloku zawsze jest lokalna, modyfikator ten nie ma obecnie żadnego zastosowania praktycznego, auto jest spadkiem po wcześniejszych językach programowania, na których oparty jest C (np. B).
Język C++ pozwala na mieszanie deklaracji zmiennych z kodem. Więcej informacji w C++/Zmienne.