Muistiluokka
Muuttuva tallennusluokka ( eng. Storage class ) on käsite joissakin ohjelmointikielissä . Se määrittää muuttujan laajuuden sekä sen , kuinka kauan muuttuja on muistissa.
Muistiluokat C ja C++
C- ja C++-ohjelmointikielissä muuttujan tulee kuulua täsmälleen yhteen tallennusluokkaan, mikä ilmaistaan avainsanalla, joka kirjoitetaan ennen muuttujan tyyppiä.
- auto — automaattinen ( paikallinen ). Automaattiset muuttujat luodaan, kun funktio saapuu, ja tuhotaan, kun se poistuu. Ne näkyvät vain siinä funktiossa tai lohkossa, jossa ne on määritelty. C++11 : ssä sanan merkitys on automuutettu.
- static — staattinen muuttuja (paikallinen). 1) Jos staattinen on funktion sisällä. Tällaisten muuttujien laajuus on normaali (funktion sisällä), mutta elinikä on vakio (arvo säilyy funktiokutsujen välillä). 2) staattisella funktion ulkopuolella on eri merkitys.
- extern on ulkoinen ( globaali ) muuttuja. Ulkoiset muuttujat ovat saatavilla kaikkialla, missä ne on ilmoitettu, ei vain siellä, missä ne on määritelty. Extern-avainsanan käyttö sallii funktion käyttää ulkoista muuttujaa, vaikka se määritettäisiin myöhemmin tässä tai toisessa tiedostossa. Tällaisille muuttujille osoitesidonta tapahtuu linkin aikana.
- register — rekisterimuuttuja (paikallinen). Tämä sana on vain "suositus" kääntäjälle sijoittaa usein käytetty muuttuja prosessorin rekistereihin ohjelman nopeuttamiseksi.
Muistiluokka voidaan jättää pois, jolloin seuraavat oletusasetukset ovat voimassa :
- funktion tai lohkon sisällä ilmoitettuja muuttujia pidetään paikallisina (auto)
- Kaikkien funktioiden ulkopuolella ilmoitettuja muuttujia pidetään ulkoisina.
- toimintoja pidetään ulkoisina.
Staattisesta muuttujasta, joka on ilmoitettu minkä tahansa funktion ulkopuolella, tulee ulkoinen staattinen muuttuja. Ero ulkoisen muuttujan ja ulkoisen staattisen muuttujan välillä on niiden laajuudessa. Tavallista ulkoista muuttujaa voivat käyttää minkä tahansa tiedoston funktiot, mutta ulkoista staattista muuttujaa voivat käyttää vain saman tiedoston funktiot ja sen jälkeen, kun muuttuja on määritelty.
openmp
Säikeiden rinnakkaisen suorittamisen varmistamiseksi OpenMP tarjoaa 2 muuttujaluokkaa: jaetut (jaettu, synkronoitu) ja yksityinen (paikallinen jokaiselle säikeelle).
Linkit