Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Tilldela Adresser till Pekare | Pekare Grunder
C++-Pekare och Referenser
Avsnitt 1. Kapitel 2
single

single

bookTilldela Adresser till Pekare

Svep för att visa menyn

Vid arbete med pekare är korrekt initiering viktig för att säkerställa att de pekar på giltiga minnesadresser och för att undvika oväntat beteende.

Address-of och Dereference-operatorer

För att tilldela ett värde till pekaren måste vi använda address-of (&) operatorn och för att komma åt värdet på minnesadressen måste vi använda dereference operatorn.

  • &: address-of operatorn, returnerar minnesadressen till sin operand;

  • *: dereference operatorn, returnerar värdet som lagras på minnesadressen.

main.cpp

main.cpp

copy
12345678
#include <iostream> int main() { int variable = 10; std::cout << &variable << std::endl; std::cout << *(&variable) << std::endl; }

Genom att använda adressoperatorn (&) kan vi tilldela dessa adresser till pekare, vilket skapar en direkt koppling mellan pekaren och minnesplatsen den pekar på.

Uppgift

Svep för att börja koda

I ett banksystem har varje kund ett kontosaldo. Transaktioner såsom insättningar eller uttag kan förändra detta saldo. Uttag får dock inte göra saldot negativt. Skriv ett program som uppdaterar och hanterar kontosaldot med hjälp av pekare.

Du ska implementera en funktion updateBalance som utför transaktionen genom att modifiera saldot via en pekare.

  1. Inuti funktionen updateBalance, kontrollera om transaktionen är ett uttag som skulle resultera i ett negativt saldo:
    • Om amount är negativt och *p_balance + amount < 0, är transaktionen inte tillåten.
    • Returnera false i detta fall.
  2. Om transaktionen är tillåten, uppdatera saldot genom att addera amount till *p_balance med hjälp av pekardereferering.
  3. Returnera true för att indikera en lyckad transaktion.

Lösning

Switch to desktopByt till skrivbordet för praktisk övningFortsätt där du är med ett av alternativen nedan
Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 1. Kapitel 2
single

single

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

some-alt