Jason. Cała informatyka w jednym miejscu!

Jak wygląda zmienna w programowaniu, każdy widzi. Jednak mam pewien powód, dla którego muszę rozebrać temat na czynniki pierwsze i zrobić z prostego terminu cały artykuł. Wchodźcie!

ZMIENNA JEST NIBY ZNANA, A JEDNAK MOŻNA SIĘ O NIEJ DOWIEDZIEĆ WIĘCEJ

Temat tyczy się programowania ogólnie, więc ponownie pochylimy się w stronę języka C, "ojca" wszystkich języków wysokiego poziomu. Na początku wyjaśnijmy sobie definicję, bo nie każdy może ją znać, mimo tego że wie jak zadeklarować i zdefiniować zmienną w kodzie:

Zmienna to zarezerwowane miejsce w pamięci identyfikowane przy pomocy nazwy (etykiety), które przeznaczone jest do przechowywania wartości danego typu.

Dodam, że posiada swój synonim, który już nie jest tak powszechnie stosowany podczas pogawędek o programowaniu. Możecie spotkać się z pojęciem "modyfikowalna L-wartość" (ang. "modifiable L-value"). L-wartość pisząc prostymi słowy, to wartość znajdująca się po lewej stronie operatora przypisania (to mogą być też skrócone operatory takie jak +=, jednak ich rozwinięcie sprowadza się do operatora przypisania). Zastanówcie się, czy kiedykolwiek umieszczaliście dowolną stałą wartość (np. liczbę 5) po lewej stronie operatora przypisania (=)? Pewnie, że nie! Po lewej stronie wpycha się tylko zmienne, czyli wartości modyfikowalne. Dlatego określa się je "L-wartościami".

Stałe (albo inne zmienne), które stanowią składnik operacji, umieszcza się zawsze po prawej stronie operatora przypisania, stąd nazywane są "R-wartościami". Zatem, budując instrukcję przypisywania wartości do zmiennej, po lewej stronie podajecie zawsze etykietę (jej nazwę), a po prawej stronie stałą lub zmienną. Zmienna też może być "R-wartością", jednak wtedy nie jest ona modyfikowana (wartość jest tylko odczytywana), dlatego wartością modyfikowalną określa się jedynie L-wartość.

KOD ŹRÓDŁOWY

Na finał, zaprezentuję szybko jak zmienna wygląda w kodzie. Język C oczywiście i podajemy przykład:

int i = 6;

Zasady zapisu są zależne od używanego języka programowania i jest ich naprawdę sporo, dlatego nie sugerujcie się powyższą instrukcją, że taka zadziała wszędzie. Są języki, które znoszą obowiązek definiowania typu w zamian za słowo kluczowe (np. JavaScript), a niektórym wystarczy jedynie sama nazwa i wartość (np. Python).

To jest przykład definicji zmiennej całkowitoliczbowej ("int" to skrót od "integer"). Jak pisałem na wstępie, zmienna posiada swoją nazwę (etykietę "i"), przechowuje jakąś wartość (6) i jest ona określonego typu danych ("int"). Mamy wszystko. Mamy prawo odstąpić od przypisywania jakiejkolwiek wartości:

int i;

tym samym kończąc na deklaracji zmiennej. Kiedy chcemy zmodyfikować wartość, to jednym ze sposobów jest instrukcja przypisania, która najczęściej wygląda tak:

i = 19;

Teraz widać doskonale. Po lewej stronie mamy L-wartość, czyli naszą zmienną która podlega modyfikacjom wartości, a po prawej stronie mamy stałą liczbę 19. Odwrotnie się nie da! W jaki sposób chcielibyście modyfikować liczbę 19 ;)? Możemy za to sprawić, żeby zmienna była R-wartością! Gdybyśmy mieli hipotetycznie drugą liczbę całkowitą:

int j = 16;

to wówczas możemy przypisać zmiennej "i" wartość zmiennej "j":

i = j;

i teraz jedna zmienna jest L-wartością, a druga zmienna jest R-wartością. Można? Można!


"The end" ;). Kto by pomyślał, że pojęcie "zmienna" kryje w sobie jeszcze jakieś tajemnice, co nie?

PODOBNE ARTYKUŁY