Proměnná je název místa v paměti počítače, kam ukládáte některá data.
Představte si velmi velký sklad se spoustou úložných prostorů, stolů, polic, speciálních místností atd. To vše jsou místa, kde můžete něco uložit. Představme si, že máme ve skladu bednu piva. Kde přesně se nachází?
Neřekli bychom, že je uložen 31 '2 "od západní zdi a 27' 8" od severní zdi. v programování termíny bychom také neřekli, že můj celkový plat zaplacený v tomto roce je uložen ve čtyřech bajtech počínaje místem 123,476,542,732 v RAM.
Data v PC
Počítač pokaždé, když je spuštěn náš program, umístí proměnné na různá místa. Náš program však přesně ví, kde se data nacházejí. Děláme to tak, že vytvoříme proměnnou, na kterou se budeme odkazovat, a necháme kompilátor zpracovat všechny chaotické podrobnosti o tom, kde se skutečně nachází. Je pro nás mnohem důležitější vědět, jaký typ dat budeme v místě ukládat.
V našem skladu může být naše bedna v oddílu 5 police 3 v oblasti nápojů. V počítači bude program přesně vědět, kde jsou jeho proměnné umístěny.
Proměnné jsou dočasné
Existují stejně dlouho, jak jsou potřeba a poté jsou zlikvidovány. Další analogie je, že proměnné jsou jako čísla v kalkulačce. Jakmile stisknete tlačítka pro vymazání nebo vypnutí, čísla displeje se ztratí.
Jak velká je proměnná
Tak velký, jak je potřeba a nic víc. Nejmenší proměnná může být jeden bit a největší jsou miliony bytů. Současné procesory zpracovávají data v kouscích po 4 nebo 8 bajtech najednou (32 a 64 bitových procesorů), takže čím je proměnná větší, tím déle bude její čtení nebo zápis trvat. Velikost proměnné závisí na jejím typu.
Co je to variabilní typ?
V moderní programovací jazyky, jsou proměnné deklarovány jako typu.
CPU kromě čísel nerozlišuje mezi daty ve své paměti. Považuje to za soubor bytů. Moderní procesory (kromě těch v mobilních telefonech) obvykle zvládnou hardwarovou aritmetiku celočíselného i pohyblivého bodu. překladač musí generovat různé instrukce strojového kódu pro každý typ, takže věděl, jaký typ proměnné pomáhá generovat optimální kód.
Jaké typy dat může variabilní držet?
Základní typy jsou tyto čtyři.
- Celá čísla (podepsané i nepodepsané) o velikosti 1,2,4 nebo 8 bajtů. Obvykle se označuje jako ints.
- Plovoucí bod Čísla až do velikosti 8 bajtů.
- Byty. Jsou uspořádány do 4s nebo 8s (32 nebo 64 bitů) a čtou se do a z registrů CPU.
- Text řetězce až do velikosti bajtů. CPU mají speciální instrukce pro prohledávání velkých bloků bajtů v paměti. To je velmi užitečné pro textové operace.
Existuje také obecný typ proměnné, který se často používá ve skriptovacích jazycích.
- Varianta - To může pojmout jakýkoli typ, ale je pomalejší.
Příklad datových typů
- Pole typů - jednorozměrné, jako jsou zásuvky v kabinetu, dvourozměrné jako třídicí boxy na poště nebo trojrozměrné jako hromada beden na pivo. Může existovat libovolný počet rozměrů až po limity kompilátoru.
- Výčty, které jsou omezenou podmnožinou celých čísel. Číst o co je výčet.
- Struktury jsou složené proměnné, kde je několik proměnných spojeno do jedné velké proměnné.
- Datové toky poskytují způsob správy souborů. Jsou to forma tětiva.
- Objekty, jsou jako struktury, ale s mnohem sofistikovanějším zpracováním dat.
Kde jsou proměnné uloženy?
V paměti, ale různými způsoby, v závislosti na tom, jak jsou použity.
- Globálně. Všechny části programu mohou přistupovat a měnit hodnotu. To je způsob, jakým starší jazyky jako Basic a Fortran manipulovaly s daty a nepovažuje se to za dobré. Moderní jazyky mají tendenci odrazovat od globálního úložiště, i když je to stále možné.
- Na hromadu. Toto je název hlavní použité oblasti. V C a C ++ je k tomu přístup přes ukazatel proměnné.
- Na Zásobník. Zásobník je blok paměti, který se používá k ukládání parametry předány do funkcí a proměnné, které existují místně pro funkce.
Závěr
Proměnné jsou zásadní pro procedurální programování, ale je důležité, aby se příliš nevešly na podklad implementace, pokud neděláte systémy pro programování nebo psaní aplikací, které musí běžet v malém množství RAM.
Naše pravidla týkající se proměnných:
- Pokud nejste pevně na ram nebo mít velká pole, zůstat s ints spíše než a byte (8 bitů) nebo krátké int (16 bitů). Zejména na 32bitových procesorech existuje další pokuta za zpoždění při přístupu k méně než 32 bitům.
- Použití plave namísto čtyřhra pokud nepotřebujete přesnost.
- Vyhněte se variantám, pokud to není skutečně nutné. Jsou pomalejší.