Statická proměnná

Statická proměnná je v informatice označení proměnné v počítačovém programování, která je alokována staticky. Její životní cyklus trvá celou dobu běhu počítačového programu. To je hlavním rozdílem oproti dočasným automatickým proměnným (lokální proměnné jsou obecně automatické), které jsou alokovány a uvolňovány na 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 datového segmentu adresního prostoru programu (pokud je inicializován), nebo BSS segmentu (pokud inicializován není) a jsou uloženy v odpovídajících částech objektových souborů.

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

Viditelnost a rozsahEditovat

Co se týče viditelnosti a rozsahu, jsou statické proměnné 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ě 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.

Jiné významyEditovat

V některých objektově orientovaných jazycích se přívlastek statický používá pro atribut (člen, položku, proměnnou) třídy, který je sdílený všemi instancemi dané třídy.

ReferenceEditovat

V tomto článku byl použit překlad textu z článku Static variable na anglické Wikipedii.