Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Osoittimien Käyttötapaukset | Osoittimien Perusteet
C++-Osoittimet ja Viittaukset
Osio 1. Luku 4
single

single

bookOsoittimien Käyttötapaukset

Pyyhkäise näyttääksesi valikon

Kun välität muuttujan funktiolle, välität käytännössä sen arvon. Tämä tarkoittaa, että funktio vastaanottaa kopion datasta. Kaikki funktiossa tehdyt muutokset eivät vaikuta alkuperäiseen muuttujaan.

main.cpp

main.cpp

copy
12345678910
#include <iostream> void increment(int num) { num++; } int main() { int num = 5; increment(num); std::cout << "Original value: " << num << std::endl; }

Pointtereita voidaan käyttää mahdollistamaan, että funktio muuttaa alkuperäistä muuttujaa. Tämä tapahtuu välittämällä muistiosoite argumenttina varsinaisen arvon sijaan.

main.cpp

main.cpp

copy
123456789101112
#include <iostream> void increment(int* num) { (*num)++; } int main() { int num = 5; int* p_num = &num; increment(p_num); std::cout << "Original value: " << num << std::endl; }
Note
Huomautus

Voit ohittaa osoittimen luomisen muuttujalle ja käyttää suoraan osoite-operaattoria muuttujaa välitettäessä.

Tehtävä

Pyyhkäise aloittaaksesi koodauksen

Kirjoita funktio, joka vaihtaa kahden kokonaislukumuuttujan arvot osoittimien avulla.

  1. Luo funktio swap, joka ottaa kaksi osoitinta kokonaislukuihin parametreina.
  2. Käytä funktion sisällä väliaikaista muuttujaa ensimmäisen muuttujan arvon tallentamiseen.
  3. Aseta toisen muuttujan arvo ensimmäiselle muuttujalle osoitindereferoinnin avulla.
  4. Aseta väliaikaisessa muuttujassa oleva arvo toiselle muuttujalle osoitindereferoinnin avulla.
  5. Kutsu main-funktiossa swap-funktiota, välittäen kahden muuttujan osoitteet.

Ratkaisu

Switch to desktopVaihda työpöytään todellista harjoitusta vartenJatka siitä, missä olet käyttämällä jotakin alla olevista vaihtoehdoista
Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 1. Luku 4
single

single

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

some-alt