1
resposta

Quando quero relembrar ponteiros

Quando quero relembrar os conceitos sobre ponteiros, rodo o script abaixo:

#include <stdio.h> int main(){ int a = 10; int* b = &a; printf("valor de 'a': %d\n", a); printf("endereco de 'a': %d\n", &a); printf("endereco do ponteiro 'b': %d\n", &b); printf("endereco de memoria para onde 'b' aponta: %d\n", b); printf("valor alocado no endereco para onde 'b' aponta: %d\n", *b); return 0; }

Resultado:

valor de 'a': 10 endereco de 'a': 6684188 endereco do ponteiro 'b': 6684176 endereco de memoria para onde 'b' aponta: 6684188 valor alocado no endereco para onde 'b' aponta: 10

1 resposta

Olá, Anderson!

Pelo código que você postou, parece que você está relembrando os conceitos sobre ponteiros em C. É uma parte importante da linguagem e pode ser um pouco confusa no início, mas tenho certeza de que com um pouco de prática você vai dominar!

No seu código, você declara uma variável a e um ponteiro b que aponta para o endereço de a. Em seguida, você imprime o valor de a, o endereço de a, o endereço de b, o endereço de memória para onde b aponta e o valor alocado nesse endereço.

O resultado que você obteve está correto. O valor de a é 10, o endereço de a é 6684188, o endereço de b é 6684176, o endereço de memória para onde b aponta é 6684188 e o valor alocado nesse endereço é 10.

Isso acontece porque quando você declara um ponteiro e atribui o endereço de uma variável a ele, você está dizendo que esse ponteiro aponta para o endereço de memória onde essa variável está armazenada. Portanto, ao imprimir o valor de *b, que é o valor alocado no endereço para onde b aponta, você obtém o valor de a.

Espero ter ajudado a relembrar os conceitos sobre ponteiros! Se tiver mais alguma dúvida, é só me dizer. Bons estudos!

Espero ter ajudado e bons estudos!