single
Tildeling af Adresser til Pointere
Stryg for at vise menuen
Ved arbejde med pointers er korrekt initialisering vigtig for at sikre, at de peger på gyldige hukommelsesadresser og for at undgå uventet opførsel.
Adresse- og dereference-operatorer
For at tildele en værdi til en pointer skal vi bruge adresse-operatoren (&), og for at få adgang til værdien på hukommelsesadressen skal vi bruge dereference-operatoren.
-
&: adresse-operatoren, returnerer hukommelsesadressen for sin operand; -
*: dereference-operatoren, returnerer værdien, der er lagret på hukommelsesadressen.
main.cpp
12345678#include <iostream> int main() { int variable = 10; std::cout << &variable << std::endl; std::cout << *(&variable) << std::endl; }
Ved at bruge adresse-operatoren (&) kan vi tildele disse adresser til pointere, hvilket skaber en direkte forbindelse mellem pointeren og den hukommelsesplacering, den peger på.
Swipe to start coding
I et banksystem har hver kunde en kontosaldo. Transaktioner såsom indbetalinger eller hævninger kan ændre denne saldo. Dog må hævninger ikke medføre, at saldoen bliver negativ. Skriv et program, der opdaterer og administrerer kontosaldoen ved hjælp af pointers.
Du skal implementere en funktion updateBalance, der udfører transaktionen ved at ændre saldoen gennem en pointer.
- Inde i funktionen
updateBalanceskal du kontrollere, om transaktionen er en hævning, der vil resultere i en negativ saldo:- Hvis
amounter negativ og*p_balance + amount < 0, er transaktionen ikke tilladt. - Returnér
falsei dette tilfælde.
- Hvis
- Hvis transaktionen er tilladt, opdateres saldoen ved at lægge amount til
*p_balanceved hjælp af pointer-dereferering. - Returnér
truefor at indikere en vellykket transaktion.
Løsning
Tak for dine kommentarer!
single
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat