Zmienna

Nazwane miejsce w pamięci przechowujące wartość, którą program może odczytać lub zmienić w trakcie działania.

Zmienna to nazwane miejsce w pamięci komputera, w którym Twój program trzyma jakąś wartość — liczbę, tekst, listę, cokolwiek. Dajesz temu miejscu nazwę, żeby nie musieć pamiętać adresu w pamięci, i odtąd odwołujesz się do danych po ludzku: wiek, cena, email. Wartość możesz w trakcie działania programu odczytać albo nadpisać nową — stąd „zmienna”, bo jej zawartość może się zmieniać.

Do czego to służy

Zmienna jest najprostszym sposobem na przechowanie i nazwanie danych, z którymi program coś robi. Bez niej musiałbyś wszystko wpisywać na sztywno, a tak liczysz raz i używasz wielokrotnie. Pod spodem nazwa zmiennej to etykieta wskazująca na konkretny fragment pamięci; interpreter albo kompilator tłumaczy ją na adres.

Każda zmienna ma jakiś typ — liczba całkowita, zmiennoprzecinkowa, tekst (string), wartość logiczna (bool). W językach jak Python czy JavaScript typ jest dobierany dynamicznie w trakcie działania, w C++ czy Javie deklarujesz go z góry. Ma też zasięg (scope): zmienna lokalna żyje tylko wewnątrz funkcji, globalna jest widoczna wszędzie.

Przykład z praktyki

W Pythonie tworzysz zmienną przez zwykłe przypisanie, bez żadnej ceremonii:

  • licznik = 0 — zakładasz zmienną i wkładasz do niej zero
  • licznik = licznik + 1 — odczytujesz starą wartość i zapisujesz nową
  • print(licznik) — wypisze 1

W JavaScript masz let (wartość można zmieniać) i const (stała — przypisujesz raz). Reguła kciuka: używaj const, dopóki naprawdę nie musisz czegoś nadpisać.

Na co uważać

Najczęstszy zgrzyt początkujących to mylenie przypisania z porównaniem: = nadaje wartość, a == sprawdza równość. Drugi klasyk to użycie zmiennej, której nigdy nie zainicjalizowałeś — dostaniesz błąd albo, gorzej, undefined/null, które rozsypie się dopiero trzy ekrany dalej. Trzymaj się też czytelnych nazw: x i tmp2 mszczą się po tygodniu, gdy wracasz do własnego kodu.

I jeszcze jedno: nazwa zmiennej to nie sama wartość. Gdy przypiszesz jedną listę do drugiej zmiennej, w wielu językach obie wskazują na ten sam obiekt — zmiana przez jedną nazwę widać przez drugą.

Pojęcia powiązane: stała (constant), typ danych, zasięg zmiennej (scope), przypisanie, referencja, parametr funkcji, literał.