Ero sivun ”Muuttuja (ohjelmointi)” versioiden välillä

kenen mukaan -malline (osoitinten välttämättömyys) + selvennä-malline (termi osoitteet po. osoittimet?), kh: turha pilkku, yhdyssana
(typo, otsikot: Lähteet, Viitteet, kenttä: viitteet, Lähde: Ben-Ari & Sajaniemi 2003)
(kenen mukaan -malline (osoitinten välttämättömyys) + selvennä-malline (termi osoitteet po. osoittimet?), kh: turha pilkku, yhdyssana)
{{pääartikkeli|[[Tyyppijärjestelmä]]}}
 
Ohjelmointikielissä symbolinen muuttuja voi viitata lähes minkä tyyppiseen tietoon tahansa. Ohjelmointikielissä voidaan kuitenkin määritellä minkä tyyppiseenminkätyyppiseen tietoon muuttuja viittaa. Muuttujat voivat olla joko
 
* etukäteen tiettyyn tietotyyppiin sidottuja
=== Osoittimet ===
{{Pääartikkeli|[[Osoitin (ohjelmointi)|osoitin]]}}
Erityisen hyödyllisiä muuttujia ovat muistiavaruuden osoitteet{{selvennä|pitänee olla osoittimet}}, koska ilman niitä ei moderneja tietokoneohjelmia voitaisi rakentaa.{{kenen mukaan}} Osoittimen tehtävänä ei ole sisältää varsinaista tietoa vaan kertoa mistä muistiavaruuden osoitteesta tavoiteltava tieto on löydettävissä. Muuttujaa, joka sisältää muistiavaruuden osoitteen sanoitaan [[osoitin|osoittimeksi]] (pointer). Osoittimen etuna on, että se tarvitsee itse vähän tilaa (esimerkiksi 32-bittisissä tietokoneissa 32 bittiä), mutta sen osoittama tietomäärä voi olla mielivaltaisen suuri. Osoittimen yhteydessä on yleensä hyödyllistä määritellä myös sen osoittaman tiedon tyyppi. Esimerkiksi [[C (ohjelmointikieli)|C]]-kielessä määritellään osoitin merkkijonoon seuraavasti:
<syntaxhighlight lang="c">
char *teksti;
* muuttuja sijaitsee muualla, esimerkiksi verkossa, hajautetulla palvelimella tms.
 
Suurin osa muuttujista luodaan ja talletetaan tietokoneen keskusmuistiin. Tällöin muuttuja säilyy tietokoneen muistissa niin kauan kuin virta katkaistaan tai sen päälle kirjoitetaan uusi arvo. Keskusmuistiin muuttujia tallennetaan pääasiassa kahdella tavalla: pino-, ja kekomuistiin (stack, heap).
 
Rekistereihin ja pinoon muuttujalle varataan muistia yleensä vain silloin, jos muuttujaa käsitellään vain lyhytaikaisesti ja muuttujan tulosta ei tarvitse säilyttää kuin hetken aikaa. Muuttujat varataan tyypillisesti pinosta, jos niillä on rajattu näkyvyysalue, jonka päätyttyä muuttuja ei ole käytettävissä. Näin tapahtuu tyypillisesti funktion tai lohkon sisäisille muuttujille. Kekomuisti on yleiskäyttöistä muistia, jota voidaan varata tiettyyn käyttöön ja se säilyy kunnes se vapautetaan. Jos ohjelma hukkaa viittauksen tai osoittimen kekomuuttujaan sitä ei voi enää käsitellä mutta se vie tilaa ja johtaa [[muistivuoto]]on.
22 482

muokkausta