single
Asignación de Direcciones a Punteros
Desliza para mostrar el menú
Al trabajar con punteros, la inicialización adecuada es importante para asegurar que apunten a ubicaciones de memoria válidas y prevenir comportamientos inesperados.
Operadores de dirección y desreferenciación
Para asignar un valor al puntero se debe utilizar el operador de dirección (&) y para acceder al valor de la dirección de memoria se debe utilizar el operador de desreferenciación.
-
&: operador de dirección, devuelve la dirección de memoria de su operando; -
*: operador de desreferenciación, devuelve el valor almacenado en la dirección de memoria.
main.cpp
12345678#include <iostream> int main() { int variable = 10; std::cout << &variable << std::endl; std::cout << *(&variable) << std::endl; }
Utilizando el operador de dirección (&), podemos asignar estas direcciones a los punteros, creando un enlace directo entre el puntero y la ubicación de memoria a la que apunta.
Desliza para comenzar a programar
En un sistema bancario, cada cliente tiene un saldo de cuenta. Las transacciones como depósitos o retiros pueden modificar este saldo. Sin embargo, los retiros no pueden hacer que el saldo sea negativo. Escriba un programa que actualice y gestione el saldo de la cuenta utilizando punteros.
Implementará una función updateBalance que realiza la transacción modificando el saldo a través de un puntero.
- Dentro de la función
updateBalance, verifique si la transacción es un retiro que resultaría en un saldo negativo:- Si
amountes negativo y*p_balance + amount < 0, la transacción no está permitida. - En este caso, devuelva
false.
- Si
- Si la transacción está permitida, actualice el saldo sumando amount a
*p_balanceusando desreferenciación de puntero. - Devuelva
truepara indicar una transacción exitosa.
Solución
¡Gracias por tus comentarios!
single
Pregunte a AI
Pregunte a AI
Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla