previous next Up Title Contents Index

Varoitus 2: ++ ja -- operaattorit

On mahdollista käyttää inkrementointi- (++) ja dekrementointioperaatioita (--) sekä pointtereihin että pointtereiden osoittamiin muuttujin.

Tällöin on huomattava seuraava (oletetaan, että ptr on osoitin kokonaislukuun):

*ptr++ kasvattaa pointterin arvoa kahdella
(*ptr)++ kasvattaa pointterin osoittaman muistipaikan sisältöä yhdellä.

Ensimmäinen laskutoimitus ei muodosta yksinään järkevää lausetta, koska siinä viitataan muistipaikkaan, jonka osoite on ptr, ilman, että sille (muistipaikalle) tehdään jotain.

Ensimmäinen lauseke voisi olla sijoituslausekkeen oikeana puolena, kun x on kokonaislukumuuttuja:

    x = *ptr++;

Tässä sijoitetaan ensin ptr:n osoittaman muistipaikan sisältö x:n arvoksi ja sen jälkeen kasvatetaan ptr:n arvoa kahdella (joten ptr tulee osoittamaan muistissa seuraavaan kokonaislukuun).

previous next Up Title Contents Index