Olá a todos!! Galera, tenho uma dúvida conceitual, primeiro peço que leiam meu código ( é pequeno e serve apenas para explicitar minhas dúvidas):
#include <stdio.h>
int main() {
char *p1, vet[]="Coruja";
int *p2, x=6;
p1 = vet; // ou p1=&vet[0],tanto faz
printf("endereco do ponteiro p1: %x\nendereco da variavel apontada por p1: %x\ncontudo armazenado em p1: %s\n\n\n",p1, &p1, p1);
p2 = &x;
printf("endereco do ponteiro p2: %x\nendereco da variavel apontada por p2: %x\nvalor armazenado em p2:%d", p2, &p2, *p2);
return 0;
}
DÚVIDAS:
Por que quando printamos o conteúdo referente a um ponteiro do tipo char, não podemos passar o *p1 como argumento para indicar esse conteúdo? Por exemplo, quando queremos printar o conteúdo apontado por um ponteiro do tipo int, passamos o *p2 como um argumento.Caso eu o fizesse num ponteiro do tipo char, o programa não rodaria.Outra dúvida, o conteúdo armazenado peloponteiro do tipo char p1 e o conteúdo apontado por ele foram passados por mim no printf como o mesmo argumento ( ambos p1),mas um printou o endereço( passei como %x ) e o outro o conteúdo da string (passei como %s). Como pode isso?! É um conteúdo ou um endereço afinal?? Parece que quanto mais tento estudar ponteiros, mais confuso eu fico...broxante!!
Pergunta
victor93
Olá a todos!! Galera, tenho uma dúvida conceitual, primeiro peço que leiam meu código ( é pequeno e serve apenas para explicitar minhas dúvidas):
DÚVIDAS:
Por que quando printamos o conteúdo referente a um ponteiro do tipo char, não podemos passar o *p1 como argumento para indicar esse conteúdo? Por exemplo, quando queremos printar o conteúdo apontado por um ponteiro do tipo int, passamos o *p2 como um argumento.Caso eu o fizesse num ponteiro do tipo char, o programa não rodaria.Outra dúvida, o conteúdo armazenado peloponteiro do tipo char p1 e o conteúdo apontado por ele foram passados por mim no printf como o mesmo argumento ( ambos p1),mas um printou o endereço( passei como %x ) e o outro o conteúdo da string (passei como %s). Como pode isso?! É um conteúdo ou um endereço afinal??
Parece que quanto mais tento estudar ponteiros, mais confuso eu fico...broxante!!
Desde já grato.
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.