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
int
usando 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;
}