Statická proměnná: Porovnání verzí

Z Wikipedie, otevřené encyklopedie
Smazaný obsah Přidaný obsah
Nová stránka: V Počítačovém programování je statická proměnná taková, která je alokována staticky. Její životní cyklus trvá celou dobu běhu Počítačový_program|program…
(Žádný rozdíl)

Verze z 8. 9. 2015, 19:20

V Počítačovém programování je statická proměnná taková, která je alokována staticky. Její životní cyklus trvá celou dobu běhu programu. To je hlavním rozdílem oproti dočasným automatickým proměnným(lokální proměnné jsou obecně automatické), jejichž úložiště je alokováno a uvolňováno pomocí zásobníku, či objektům, které jsou ukládány dynamicky v paměti typu halda.

Když je program (spustitelný nebo knihovna) načten do paměti, statické proměnné se uloží do data segmentu adresního prostoru programu (pokud je inicializován), nebo BBS segmentu (pokud inicializován není), a jsou uloženy v odpovídajících částech objektu souborů.

V programovacím jazyce C a jemu podobných jazycích se používá klíčové slovo static.

Viditelnost a rozsah

Co se týče viditelnosti a rozsahu, statické proměnné jsou k dispozici po celou dobu běhu programu. Může ovšem mít ale také rozsah omezený. Základní rozdíl je mezi proměnnou, která je globální statická a je tak možné s ní pracovat v jakémkoliv místě v kódu a lokální statickou proměnnou, kterou lze vidět pouze v rámci funkce, nebo jiném místním kontextu. Statická proměnná může být také přístupná pouze v rámci modulu, což odpovídá v programovacím jazyce C jednotlivým souborům.

V objektově orientovaném programování je také koncept statických proměnných. Jsou to proměnné typu třída, které jsou definovány staticky. Tyto proměnné jsou přístupné všem instancím.