Olá pessoal, estou estudando C e um assunto que achei muito interessante é sobre os pointers.
Algumas duvidas me apareceram ao formar o seguinte codigo:
#include <stdio.h>
int main() {
int static var = 5;
int static *var_ptr;
int static **var_ptr2;
var_ptr = &var;
var_ptr2 = &var_ptr;
printf(" var_ptr p= %p\n", var_ptr);
printf(" var_ptr2 p= %p\n", var_ptr2);
printf(" *var_ptr2 p= %p\n", *var_ptr2);
printf("**var_ptr2 d= %d\n", **var_ptr2);
return(0);
}
se tenho var_ptr2 sendo um pointer do pointer *var_ptr então quando imprimo printf(" var_ptr2 p= %p\n", var_ptr2); eu na verdade estou imprimindo o endereco do pointer var_ptr e não do pointer var_ptr2, certo ??
Alem disso, outra duvida analisando os endereços da memória é se quando ele imprime algo como 0x8049628 na verdade é o endereco da memoria dentro da area do programa executado ou é a area da memoria fisica real do computador (logo se eu lesse 0x8049628 em /dev/mem encontraria o int de 5)?
Essa segunda duvida me surgiu pois apos executar varias vezes o mesmo programa vi que a saida se mantinha a mesma, então fiquei pensando se não seria o endereco dentro do espaco do programa, logo um offset dentro da memoria real.
Pergunta
maginot
Olá pessoal, estou estudando C e um assunto que achei muito interessante é sobre os pointers.
Algumas duvidas me apareceram ao formar o seguinte codigo:
se tenho var_ptr2 sendo um pointer do pointer *var_ptr então quando imprimo printf(" var_ptr2 p= %p\n", var_ptr2); eu na verdade estou imprimindo o endereco do pointer var_ptr e não do pointer var_ptr2, certo ??
Alem disso, outra duvida analisando os endereços da memória é se quando ele imprime algo como 0x8049628 na verdade é o endereco da memoria dentro da area do programa executado ou é a area da memoria fisica real do computador (logo se eu lesse 0x8049628 em /dev/mem encontraria o int de 5)?
Essa segunda duvida me surgiu pois apos executar varias vezes o mesmo programa vi que a saida se mantinha a mesma, então fiquei pensando se não seria o endereco dentro do espaco do programa, logo um offset dentro da memoria real.
Espero que possam me ajudar.
[ ]'s
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.