Fazer um programa para:
criar um ponteiro apontando para o endereço de a.
criar um ponteiro apontando para o endereço de a.
Passo 1
Resumo do enunciado: “Fazer um programa que crie um ponteiro apontando para o endereço de uma variável
Conteúdo da matéria: ponteiros em C.
O que vamos precisar:
a.”Conteúdo da matéria: ponteiros em C.
O que vamos precisar:
- Declarar uma variável do tipo
int. - Declarar um ponteiro para
intusando o asterisco (*). - Usar o operador de endereço (
&) para atribuir ao ponteiro o endereço dea.
Passo 2
Declarar a variável
a:int a;
Teoria: em C, uma variável ocupa uma posição na memória. Aqui,
a reserva espaço para um inteiro (geralmente 4 bytes).Passo 3
Declarar o ponteiro para inteiro:
int *p;
Teoria: o
* junto ao nome p indica que esta variável não guarda um valor numérico normal, mas sim o endereço de outra variável do tipo int.Passo 4
Atribuir ao ponteiro o endereço de
a:p = &a;
Teoria: o operador
& retorna o endereço em memória de a. Logo, p = &a; faz com que p “aponte” para onde a está alocado.Passo 5
(Teste opcional) Imprimir o endereço armazenado em
p, para confirmar que ele é igual ao de a:printf("Endereço de a: %p\n", (void*)p);
Teoria: o especificador
%p exibe um ponteiro (endereço) na saída padrão, e fazemos um cast para (void*) por convenção.Resposta
#include <stdio.h>
int main(void) {
int a; // declara a variável 'a'
int *p; // declara o ponteiro 'p' para int
p = &a; // faz 'p' apontar para o endereço de 'a'
// Opcional: testar imprimindo o endereço
printf("Endereço de a: %p\n", (void*)p);
return 0;
}