Operador de Endereço
Parte da seção Lógica & Fluxo do Journey de C++ da Coddy — lição 2 de 56.
Agora que você entende o que é um ponteiro, você precisa aprender como realmente obter o endereço de memória de uma variável. É aqui que entra o operador de endereço (&).
O operador de endereço & é colocado antes de um nome de variável para recuperar seu endereço de memória. Quando você usa &variable_name, ele retorna o local na memória onde essa variável está armazenada.
int number = 42;
int* ptr = &number; // ptr agora armazena o endereço de numberNeste exemplo, &number obtém o endereço de memória da variável number, e atribuímos esse endereço ao nosso ponteiro ptr. O ponteiro não contém o valor 42 - ele contém o endereço onde o 42 está armazenado.
Essa conexão entre uma variável e seu ponteiro é essencial para trabalhar diretamente com a memória. Uma vez que você tenha um ponteiro armazenando um endereço, você pode usá-lo para acessar ou modificar a variável original indiretamente.
Desafio
FácilCrie um programa que demonstre o operador de endereço (address-of) trabalhando com uma variável inteira e um ponteiro.
Declare uma variável inteira chamada score e inicialize-a com o valor 85.
Crie um ponteiro chamado scorePtr que armazene o endereço de memória da variável score usando o operador de endereço.
Imprima o endereço de memória armazenado no ponteiro usando o seguinte formato:
Address: [memory address]O endereço de memória será exibido em formato hexadecimal (como 0x7fff5fbff6ac), que é como o C++ normalmente mostra endereços de memória.
Folha de consulta
O operador de endereço & é usado para obter o endereço de memória de uma variável:
int number = 42;
int* ptr = &number; // ptr armazena o endereço de numberQuando você usa &variable_name, ele retorna o local na memória onde essa variável está armazenada. O ponteiro contém o endereço, não o valor real da variável.
Experimente você mesmo
#include <iostream>
using namespace std;
int main() {
// TODO: Escreva seu código abaixo
return 0;
}Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Lógica & Fluxo
1Ponteiros e Memória
O que é um Ponteiro?Operador de EndereçoOperador de DesreferenciaçãoPonteiros NulosPonteiros e ArraysMemória Dinâmica com 'new'Liberando Memória com 'delete'Recapitulação - Prática com Ponteiros2Vetores (Arrays Dinâmicos)
Introdução ao std::vectorCriando um VetorAdicionando ElementosAcessando ElementosTamanho do VetorIterando com um Loop ForLoop For Baseado em IntervaloRemovendo ElementosRecapitulação - Operações com Vetores3Projeto: Ferramenta de Lista de Tarefas
Visão Geral do ProjetoAdicionando uma Tarefa