Vzhledem k tomu, že počítače se nyní staly obrovským aspektem našich životů a jak všichni víme, zotročily nás, není nikdy na škodu znát pár detailů, které nám pomáhají v každodenním životě.
Abychom se ponořili do tématu, které je poměrně technické a hluboké, měli bychom se podívat na koncept proměnných a rozdíl mezi jejich typy – lokální a globální.
Key Takeaways
- Lokální proměnné existují v rámci specifické funkce, což omezuje jejich rozsah a dostupnost pouze na tuto funkci.
- Globální proměnné jsou dostupné v celém programu, což umožňuje sdílení dat mezi více funkcemi.
- Použití lokálních proměnných může zlepšit čitelnost a udržovatelnost kódu, zatímco globální proměnné by měly být používány střídmě, aby se předešlo potenciálním konfliktům.
Místní vs globální proměnné
Lokální proměnná je definována v rámci funkce a lze k ní přistupovat pouze v rámci této funkce. Po provedení funkce zmizí. Globální proměnná je definována mimo jakoukoli funkci a lze k ní přistupovat jakoukoli funkcí v programu
Místní proměnná je náhodou druh proměnné. Je deklarována uvnitř funkce a její životnost se pohybuje od jejího provedení až po její ukončení.
Jeho rozsah je také omezen v rámci funkce, ve které byl deklarován. Pokud není inicializován, může uložit „hodnotu odpadu“.
Na druhou stranu je globální proměnná také typem proměnné. Vyznačuje se tím, že je deklarován mimo funkci.
Je vytvořen dokonce před spuštění programu; končí však ukončením programu. Pokud je neinicializován, uloží se nula jako výchozí.
Srovnávací tabulka
Parametry srovnání | Místní proměnné | Globální proměnné |
---|---|---|
Sdílení dat | To je zde nemožné, protože k datům má přístup pouze jedna funkce. | Vzhledem k tomu, že k němu může přistupovat více funkcí, je tato funkce možná |
Parametr | Předání parametrů přístupové hodnotě je nanejvýš nutné | Předávání parametrů není nanejvýš nutné, protože hodnota je přístupná v celém programu. |
Modifikace | Pokud je hodnota změněna v jedné z funkcí, pak se takové úpravy neprojeví v ostatních funkcích. | Pokud je hodnota změněna v jedné z funkcí, pak se takové úpravy projeví v celém programu |
Přístupnost | K tomu lze přistupovat prostřednictvím příkazů obsažených uvnitř funkce. | K tomu lze přistupovat prostřednictvím libovolného příkazu, který je v programu. |
Skladování | To je uloženo na neurčeném místě, pokud není uvedeno jinak. | To je uloženo na určeném místě. |
Co jsou to místní proměnné?
Toto je druh proměnné. Jeho rysy jsou, že je deklarován v rámci nebo uvnitř určité funkce a k jeho hodnotě lze přistupovat pouze takovým příkazem, který byl začleněn do funkce.
Jeho skladovatelnost začíná zahájením provádění programu a končí jeho ukončením.
Dalším aspektem je, že jeho rozsah je také omezen v rámci funkce, ve které byl deklarován. Pokud není inicializován, může uložit „hodnotu odpadu“.
Z tohoto důvodu není možné sdílení dat, a to proto, že k datům lze přistupovat pouze jednou funkcí. Také předání parametrů přístupové hodnotě je nanejvýš nutné.
Dalším faktorem, který je třeba poznamenat, je, že pokud je hodnota změněna v jednom z funkce, pak se takové úpravy neprojeví v ostatních funkcích.
K tomu lze přistupovat prostřednictvím příkazů obsažených uvnitř funkce.
Má to několik výhod, jako je záruka, že hodnoty zůstanou nedotčené, i když je úloha spuštěna. Protože každý úkol vytváří svou lokální proměnnou, výsledky budou stále předvídatelné.
Jsou vymazány po dokončení jakékoli funkce, čímž se uvolní dříve obsazené místo v paměti.
Co jsou globální proměnné?
I toto je určitá proměnná. Vyznačuje se tím, že je deklarován mimo funkci. Je vytvořena ještě před zahájením provádění programu; končí však ukončením programu.
Pokud je neinicializován, uloží jako výchozí nulu. Sdílení dat je zde možné, protože k němu má přístup více funkcí. Tato funkce je možná.
Předávání parametrů není nanejvýš nutné, protože hodnota je přístupná skrz naskrz díky proměnným deklarovaným mimo funkce.
Pokud je hodnota změněna v jedné z funkcí, pak se takové úpravy projeví v celém programu. K tomu lze přistupovat prostřednictvím libovolného příkazu, který je v programu.
Má určité výhody, například je přístupný ze všech funkcí programu. Je stěžejní při ukládání „konstant“ a pomáhá udržovat konzistenci.
To je nejužitečnější, když více funkcí přistupuje ke stejným datům. Jeho nevýhodou je, že několik proměnných zůstává v paměti až do spuštění programu, což zase může vést k problému „Out of Memory“.
Navíc někdy mohou být výsledky nespolehlivé a nepředvídatelné, protože jakákoli funkce může změnit nebo pozměnit data.
Hlavní rozdíly mezi lokálními a globálními proměnnými
- Zatímco místní proměnné získaly své jméno na základě toho, jak fungují, to znamená, že jsou vnitřními funkcemi, globální proměnné také získaly své jméno ze skutečnosti, že jsou vnějšími funkcemi.
- Životnost proměnné pro lokální proměnné začíná provedením programu a končí jeho ukončením. Naproti tomu životnost proměnné v Global Variable začíná ještě před spuštěním programu. Jeho ukončením to však končí.
- Lokální proměnné mají své úložiště v neurčeném zásobníku, pokud nejsou specifikovány. Na druhou stranu je úložiště globálních proměnných na pevném místě.
- Tam, kde výsledky vytvořené v lokálních proměnných nemají žádný prostor pro změny, mohou být výsledky nespolehlivé a nepředvídatelné, protože data lze v případě globálních proměnných změnit nebo upravit jakoukoli funkcí.
- Zatímco v případě lokálních proměnných není možné sdílení dat, v případě globálních proměnných je tomu právě naopak.
- https://onlinelibrary.wiley.com/doi/full/10.1111/cogs.12831
- https://www.sciencedirect.com/science/article/pii/S1878029615001905
Poslední aktualizace: 11. června 2023
Sandeep Bhandari získal bakalářský titul v oboru počítačů na Thapar University (2006). Má 20 let zkušeností v oblasti technologií. Má velký zájem o různé technické obory, včetně databázových systémů, počítačových sítí a programování. Více si o něm můžete přečíst na jeho bio stránka.
Obsah příspěvku nabízí hluboký technický vhled do místních a globálních proměnných. Je to poutavé čtení pro ty, kteří chtějí rozšířit své znalosti programování.
Rozhodně, Astevensi. Vysvětlení lokálních a globálních proměnných je zde poučné a poutavé.
Skutečně poučný kousek, který pečlivě rozebírá nuance místních a globálních proměnných. Je to výjimečný průvodce pro programátorské nadšence.
Je evidentní, že autor tématu rozumí. Přesnost a jasnost srovnání mezi lokálními a globálními proměnnými činí z tohoto příspěvku vynikající zdroj pro výuku programování.
Nemohl jsem to říct lépe, Bakere Barry. Zdejší pečlivé rozčlenění složitých konceptů je skutečně chvályhodné.
Příspěvek je jasný a důkladný a poskytuje komplexní pochopení místních a globálních proměnných. Je to perfektní zdroj pro ty, kteří se hlouběji ponoří do programování.
Rozhodně, Thomasi Arthure. Toto podrobné srovnání vrhá světlo na zásadní koncepty programování, z nichž mohou mít prospěch mnozí.
Nemohl jsem více souhlasit. Toto je vynikající čtení pro každého, kdo se zajímá o programování a kódování.
Tento článek je neocenitelným zdrojem informací pro programátorské nadšence i profesionály. Rozdělení lokálních a globálních proměnných je pozoruhodně podrobné a poučné.
Souhlasím, Frede Hughesi. Hloubkové zkoumání těchto proměnných je důkazem autorovy odbornosti v oboru.
Příspěvek poskytuje velmi podrobné a komplexní srovnání mezi lokálními a globálními proměnnými. Je to vynikající vzdělávací zdroj pro studenty programování i odborníky.
Z celého srdce souhlasím, Wprice. Důkladnost analýzy povyšuje tento kus na příkladný zdroj pro pochopení proměnných v programování.
Rozhodně, Wprice. To je fantastický příspěvek k literatuře o programování.
Neuvěřitelně informativní článek, který poskytuje hluboký vhled do konceptu proměnných a rozdílu mezi jejich typy. Jedná se o cenný příspěvek na poli kódování a programování.
Souhlasím s tebou, Daniel23. Vysvětlení lokálních a globálních proměnných je mimořádně dobře propracované a snadno pochopitelné.
Článek je působivě obsáhlý a dobře formulovaný. Rozdělení lokálních a globálních proměnných je prezentováno s pozoruhodnou jasností a podrobností.
Sdílím vaše pocity, Grichardsone. Důkladné prozkoumání těchto proměnných svědčí o autorově odbornosti.