single
Osoitteiden Määrittäminen Pointtereille
Pyyhkäise näyttääksesi valikon
Osoittimien kanssa työskennellessä oikea alustaminen on tärkeää, jotta ne viittaavat kelvollisiin muistipaikkoihin ja odottamattomalta toiminnalta vältytään.
Osoite- ja dereferenssioperaattorit
Osoittimelle arvon asettamiseksi käytetään osoite (&) -operaattoria ja muistiosoitteen arvon lukemiseksi käytetään dereferenssi-operaattoria.
-
&: osoite-operaattori, palauttaa operandinsa muistiosoitteen; -
*: dereferenssioperaattori, palauttaa muistiosoitteeseen tallennetun arvon.
main.cpp
12345678#include <iostream> int main() { int variable = 10; std::cout << &variable << std::endl; std::cout << *(&variable) << std::endl; }
Käyttämällä osoite-operaattoria (&) voimme liittää nämä osoitteet pointtereihin, jolloin muodostuu suora yhteys pointterin ja sen osoittaman muistipaikan välille.
Pyyhkäise aloittaaksesi koodauksen
Pankkijärjestelmässä jokaisella asiakkaalla on tilin saldo. Tapahtumat, kuten talletukset tai nostot, voivat muuttaa tätä saldoa. Nostot eivät kuitenkaan saa johtaa negatiiviseen saldoon. Kirjoita ohjelma, joka päivittää ja hallinnoi tilin saldoa osoittimien avulla.
Toteutat funktion updateBalance, joka suorittaa tapahtuman muokkaamalla saldoa osoittimen kautta.
- Tarkista
updateBalance-funktion sisällä, onko tapahtuma nosto, joka johtaisi negatiiviseen saldoon:- Jos
amounton negatiivinen ja*p_balance + amount < 0, tapahtumaa ei sallita. - Palauta tällöin
false.
- Jos
- Jos tapahtuma sallitaan, päivitä saldo lisäämällä amount osoittimen kautta
*p_balance-muuttujaan. - Palauta
trueosoittamaan onnistunutta tapahtumaa.
Ratkaisu
Kiitos palautteestasi!
single
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme