Ero sivun ”Tyyppijärjestelmä” versioiden välillä

[katsottu versio][katsottu versio]
Poistettu sisältö Lisätty sisältö
Chobot (keskustelu | muokkaukset)
p Bot: Migrating 1 interwiki links, now provided by on Wikidata on Q865760; kosmeettisia muutoksia
Ipr1 (keskustelu | muokkaukset)
pEi muokkausyhteenvetoa
Rivi 3:
== Merkitys ==
 
Tietotyypit antavat tulkinnan [[tietokone]]en muistissa oleville [[bitti]]jonoille. Tavanomaisten tietokoneiden [[muisti]] koostuu järjestyksessä olevista biteistä, joiden tulkintaatulkinta on vapaa. Niinpä sama osa muistin sisältöä voidaan tulkita vaikkapa merkiksi, [[kokonaisluku|kokonaisluvuksi]], [[liukuluku|liukuluvuksi]] tai osoitteeksi toiseen muistipaikkaan. Tyypit kertovat ohjelmille ja ohjelmoijille, kuinka nämä bitit tulkitaan.
 
Muuttujan tai arvon tyyppi määrittelee, millä tavoin se voi toimia muiden muuttujien tai arvojen kanssa. '''Tyyppitarkastuksessa''' varmistutaan siitä, että tyypit toimivat näiden rajoitusten mukaan, eli tarkastetaan osa ohjelman semantiikasta. Tyyppitarkastus voidaan suorittaa ohjelman käännösaikana (''staattinen tyyppitarkastus'') tai ajoaikana (''dynaaminen tyyppitarkastus'').
Rivi 18:
== Staattinen vs. dynaaminen tyypitys ==
 
Tyyppijärjestelmä voi olla staattinen tai dynaaminen. Edellisessä objektien tyypit ovat tiedossa jo käännösvaiheessa, jälkimmäisessä tyyppi voi muuttua ajonaikaisesti. Esimerkiksi [[C (ohjelmointikieli)|C-kielen]] tyyppijärjestelmä on staattinen, koska muuttujien tyypit on pakko antaa muuttuja- ja funktioesittelyiden yhteydessä. Sen sijaan useimmat tulkattavat (eivät kuitenkaan kaikki) kielet ovat dynaamisesti tyypittäviä kieliä, kuten Perl ja Python. Esimerkiksi seuraava ohjelmakoodinpätkä
on laillista Pythonia ja voisi olla mielekäs osa jotain ohjelmaa: