Table of Contents
Osoitin aritmeettinen on peruskonsepti C ja C++ ohjelmointi. Se sisältää suorittaa toimia osoittimet navigoida matriisien tai muistilohkojen. Ymmärtäminen, miten laskea oikein osoittinosoitteita on välttämätöntä välttää vikoja ja määrittelemätön käyttäytyminen.
Pointer Aritmeettinen perusteet
C- ja C++-osoittimien muistiosoitteita säilytetään. Kun kääntäjä suorittaa laskentaa osoittimilla, se ilmoittaa automaattisesti osoitintyypin koon. Esimerkiksi 1:n lisääminen int-osoittimeen lisää osoitetta mastin koon mukaan.
Yleiset virheet pisteytyslaskelmissa
Yksi yleinen virhe on olettaen, että 1:n lisääminen osoittimeen lisää aina osoitetta 1 tavulla. Todellisuudessa se kasvaa datatyypin koolla. Toinen virhe on kahden osoitinten välisen eron laskeminen väärin, mikä voi johtaa virheelliseen matriisiindeksiin.
Miten laskea oikein
Osoitinosoitteiden oikeaa laskentaa varten on harkittava tietotyypin kokoa ja käytettävä osoitinta aritmeettista menetelmää. Laskettaessa kahden osoitinten välistä etäisyyttä vähennetään niiden osoitteet ja jaetaan tietotyypin koon mukaan:
Kahden osoittimen välissä olevien osien lukumäärä = (pointer2 - osoitin1) / koko(*pointer®
Tämä laskenta tarjoaa määrän elementtejä kahden osoittimet, ei tavu ero. Varmista aina osoittimet kohta samassa matriisissa tai muistilohkon välttää määrittelemätön käyttäytyminen.