single
Atribuindo Endereços a Ponteiros
Deslize para mostrar o menu
Ao trabalhar com ponteiros, a inicialização adequada é importante para garantir que eles apontem para locais de memória válidos e evitar comportamentos inesperados.
Operadores de endereço e de desreferência
Para atribuir um valor ao ponteiro, é necessário utilizar o operador de endereço (&) e, para acessar o valor do endereço de memória, utiliza-se o operador de desreferência.
-
&: operador de endereço, retorna o endereço de memória de seu operando; -
*: operador de desreferência, retorna o valor armazenado no endereço de memória.
main.cpp
12345678#include <iostream> int main() { int variable = 10; std::cout << &variable << std::endl; std::cout << *(&variable) << std::endl; }
Utilizando o operador de endereço (&), podemos atribuir esses endereços aos ponteiros, criando uma ligação direta entre o ponteiro e a localização de memória para a qual ele aponta.
Deslize para começar a programar
Em um sistema bancário, cada cliente possui um saldo de conta. Transações como depósitos ou saques podem alterar esse saldo. No entanto, saques não podem tornar o saldo negativo. Implemente um programa que atualize e gerencie o saldo da conta utilizando ponteiros.
Você irá implementar uma função updateBalance que realiza a transação modificando o saldo por meio de um ponteiro.
- Dentro da função
updateBalance, verifique se a transação é um saque que resultaria em saldo negativo:- Se
amountfor negativo e*p_balance + amount < 0, a transação não é permitida. - Retorne
falsenesse caso.
- Se
- Se a transação for permitida, atualize o saldo somando amount a
*p_balanceutilizando a desreferenciação do ponteiro. - Retorne
truepara indicar uma transação bem-sucedida.
Solução
Obrigado pelo seu feedback!
single
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo