Täisarv vs kursor
Terminaid täisarv ja osuti kasutatakse enamikus programmeerimiskeeltes. Arvutiprogrammeerimiskeeltes nimetatakse täisarvuks mis tahes andmetüüpi, mis esindab matemaatiliste täisarvude alamhulka, samas kui osutid on määratletud kui tüüp, mille väärtus osutab või viitab otse teisele väärtusele, mis on salvestatud kuskil mujal arvuti mällu, kasutades väärtuse aadressi..
Täisarv
Arvutiprogrammeerimiskeeltes on täisarv andmetüüp, mis esindab matemaatiliste täisarvude alamhulka. Nullpunkti väärtus, millel on lahutamatu osa, on matemaatiline täisarv, millele see vastab. Väärtus salvestatakse arvuti mällu sel viisil, esitades nullpunkti. Integraalitüübid võivad olla märgistatud või märgita. Märgiga tähendab, et need võivad esindada negatiivseid täisarve ja märgita tähendab, et nad võivad esindada mittenegatiivseid täisarve.
Bittide jada on kõige levinum viis positiivse täisarvu esitamiseks. Seda tehakse kahendarvude süsteemi abil. Bittide järjestuses on erinevusi. Täisarvu tüübi täpsus või laius tähistab bittide arvu.
Kahendarvusüsteemis saab negatiivseid arve esitada kolmel viisil. Seda saab teha ühe täiendi, kahe täiendi või märgi suurusjärgu abil. Täisarvude esitamiseks on aga veel üks meetod ja seda nimetatakse kahendkoodiga kümnendarvuks. Kuid seda meetodit kasutatakse tänapäeval harva.
Erinevad CPU-d toetavad erinevaid integra altüüpe. Erineva riistvara toetab nii allkirjastatud kui ka allkirjastamata tüüpe, kuid on olemas teatud kindla laiusega komplektid.
Osuti
Arvutiprogrammeerimiskeeles on kursor määratletud kui andmetüüp, mille väärtus osutab teisele väärtusele või viitab sellele otseselt, mis on salvestatud kusagil mujal arvuti mällu. Osutajad asuvad kõrgetasemeliste keelte korral üldotstarbelistes registrites, samas kui madala taseme keeles, nagu masinkood või komplekteerimiskeel, tehakse seda vabas mälus. Kursor viitab asukohale mälus. Kursori võib määratleda ka vähem lahutatud või abstraktsema andmetüübi lihtsa teostusena. Osujaid toetavad erinevad programmeerimiskeeled, kuid mõnedes keeltes on osutite kasutamisel mõned piirangud.
Korduvate toimingute (nt otsingutabelid, puustruktuurid, stringid ja juhttabelid) korral saab jõudlust oluliselt parandada. Protseduurilises programmeerimises kasutatakse viiteid ka sisenemispunktide aadresside hoidmiseks. Objektorienteeritud programmeerimises kasutatakse aga osutit funktsioonide meetodite sidumiseks.
Kuigi viidete käsitlemiseks kasutatakse viiteid, saab neid andmestruktuuridele paremini rakendada. Osutitega on seotud teatud riskid, kuna need võimaldavad nii kaitstud kui ka kaitsmata juurdepääsu arvuti mäluaadressidele.