Ali lahko v C uporabimo statično in nestanovitno?
Ali lahko v C uporabimo statično in nestanovitno?

Video: Ali lahko v C uporabimo statično in nestanovitno?

Video: Ali lahko v C uporabimo statično in nestanovitno?
Video: 🚀 RUTUBE и ТОЧКА. Разработка РУТУБА за 5 часов *БЕЗ ВОДЫ* [Next / React / Nest / PostgreSQL / Redux] 2024, April
Anonim

Statično spremenljivke ohranijo svojo vrednost med klici funkcij. Hlapljivo spremenljivke (kar ni nasprotno od statična ) so uporablja ko je spremenljivka uporablja tako znotraj ISR (prekinitvene storitvene rutine) kot zunaj njega. Hlapljivo pove prevajalniku, naj vedno naloži spremenljivko iz RAM-a, namesto da jo predpomni v CPUregister.

Podobno se lahko vprašamo, ali lahko skupaj uporabljamo statično in nestanovitno?

Tudi če ti dostop a statična vrednost skozi več niti, vsaka nit lahko imeti svojo lokalno predpomnjeno kopijo! Da bi se temu izognili ti lahko razglasite spremenljivko kot statična hlapna in to volja prisili nit, da vsakič prebere globalno vrednost. Vendar pa hlapljivo ni nadomestilo za pravilno sinhronizacijo!

Podobno, zakaj uporabljamo volatile v C? C je nestanoviten ključna beseda je kvalifikator, ki se uporabi za spremenljivko, ko je deklarirana. Prevajalcu pove, da se lahko vrednost spremenljivke kadar koli spremeni – brez kakršnega koli ukrepanja kode, ki jo prevajalnik najde v bližini. Posledice tega so precej resne.

Glede na to, kaj pomeni statična hlapnost v C?

statična se nanaša na obseg spremenljivke. Če je spremenljivka globalna, to pomeni, da je obseg omejen na izvorno datoteko, v kateri je bila deklarirana. Če je spremenljivka lokalna za funkcijo, potem to pomeni, da je pomnilnik, ki se uporablja za shranjevanje te spremenljivke, v statično dodeljenem pomnilniku aplikacije.

Ali lahko uporabimo const z volatile v C?

da. Spremenljivka lahko deklarirati kot oboje hlapljivo in stalna v C . Konst modifikator ne dovoljuje spreminjanja vrednosti spremenljivke z notranjim programom. Vendar to ne pomeni te vrednosti konst spremenljivke se ne sme spreminjati z zunanjo kodo.

Priporočena: