Co to jest zmienna?
Gunnar Svanberg/Iconica/Getty Images
Zmienna to nazwa miejsca w pamięci komputera, w którym przechowujesz pewne dane.
Wyobraź sobie bardzo duży magazyn z mnóstwem półek magazynowych, stołów, półek, specjalnych pomieszczeń itp. To wszystko są miejsca, w których możesz coś przechowywać. Wyobraźmy sobie, że mamy w magazynie skrzynkę piwa. Gdzie dokładnie się znajduje?
Nie powiedzielibyśmy, że jest przechowywany 31' 2' od zachodniej ściany i 27' 8' od północnej ściany. W programowanie terminów nie powiedzielibyśmy również, że moja całkowita pensja wypłacona w tym roku jest przechowywana w czterech bajtach, począwszy od lokalizacji 123 476 542 732 w pamięci RAM.
Dane w komputerze PCKomputer umieści zmienne w różnych lokalizacjach przy każdym uruchomieniu naszego programu. Jednak nasz program dokładnie wie, gdzie znajdują się dane. Robimy to, tworząc zmienną, która będzie się do niej odwoływać, a następnie pozwól kompilatorowi obsłużyć wszystkie niechlujne szczegóły dotyczące tego, gdzie faktycznie się znajduje. O wiele ważniejsze jest dla nas wiedzieć, jakie dane będziemy przechowywać w lokalizacji.
W naszym magazynie nasza skrzynia może znajdować się w sekcji 5 półki 3 w strefie napojów. Na komputerze program będzie dokładnie wiedział, gdzie znajdują się jego zmienne.
Zmienne są tymczasowe
Istnieją tak długo, jak są potrzebne, a następnie są usuwane. Inną analogią jest to, że zmienne są jak liczby w kalkulatorze. Jak tylko naciśniesz przycisk wyczyść lub wyłącz, numery wyświetlacza zostaną utracone.
Jak duża jest zmienna
Tak duży, jak jest potrzebny i nie więcej. Najmniejsza może być zmienna to jeden bit, a największa to miliony bajtów. Obecne procesory obsługują dane w kawałkach po 4 lub 8 bajtów na raz (32 i 64-bitowe procesory), więc im większa zmienna, tym dłużej zajmie jej odczytanie lub zapisanie. Wielkość zmiennej zależy od jej typu.
Co to jest typ zmiennej?
W nowoczesnym języki programowania , zmienne są deklarowane jako typu.
Poza liczbami, procesor nie rozróżnia danych w swojej pamięci. Traktuje to jako zbiór bajtów. Nowoczesne procesory (oprócz tych w telefonach komórkowych) zazwyczaj obsługują sprzętowo zarówno arytmetykę liczb całkowitych, jak i zmiennoprzecinkowych. The kompilator musi generować różne instrukcje kodu maszynowego dla każdego typu, więc wiedza o typie zmiennej pomaga wygenerować optymalny kod.
Jakie typy danych może przechowywać zmienna?Podstawowe typy to te cztery.
- Tablice typów – jednowymiarowe jak szuflady w szafce, dwuwymiarowe jak skrzynki do sortowania na poczcie lub trójwymiarowe jak stos skrzynek po piwie. Może być dowolna liczba wymiarów, aż do limitów kompilatora.
- Wyliczenia, które są ograniczonym podzbiorem liczb całkowitych. Czytać o co to jest wyliczenie .
- Struktury są zmienną złożoną, w której kilka zmiennych łączy się w jedną dużą zmienną.
- Strumienie umożliwiają zarządzanie plikami. Są formą strunowy .
- Obiekty , są jak struktury, ale ze znacznie bardziej wyrafinowaną obsługą danych.
- Globalnie. Wszystkie części programu mają dostęp i mogą zmieniać wartość. W ten sposób starsze języki, takie jak Basic i Fortran, używały do obsługi danych i nie jest to uważane za dobrą rzecz. Współczesne języki mają tendencję do zniechęcania do globalnego przechowywania danych, chociaż nadal jest to możliwe.
- Na stercie. To jest nazwa używanego głównego obszaru. W C i C++ dostęp do tego jest przez wskaźnik zmienne.
- Na Stos . Stos to blok pamięci używany do przechowywania parametry przekazywane do funkcji i zmiennych, które istnieją lokalnie dla funkcji.
- Chyba że jesteś ciasny na baranie lub masz duże tablice , trzymać się int zamiast bajt (8 bitów) lub krótki int (16 bitów). Zwłaszcza w przypadku 32-bitowych procesorów istnieje dodatkowa kara za opóźnienie w dostępie do mniej niż 32 bitów.
- Posługiwać się pływa zamiast debel chyba że potrzebujesz precyzji.
- Unikaj wariantów, chyba że jest to naprawdę konieczne. Są wolniejsze.
Istnieje również ogólny typ zmiennej, często używany w językach skryptowych.
Gdzie są przechowywane zmienne?
W pamięci, ale na różne sposoby, w zależności od tego, jak są używane.
Wniosek
Zmienne są niezbędne do programowania proceduralnego, ale ważne jest, aby nie wiązać się zbytnio z podstawową implementacją, chyba że programujesz system lub piszesz aplikacje, które muszą działać w małej ilości pamięci RAM.
Nasze zasady dotyczące zmiennych: