Ir para conteúdo
Fórum Script Brasil

victor93

Membros
  • Total de itens

    1
  • Registro em

  • Última visita

Posts postados por victor93

  1. 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!!

    Desde já grato.

     

×
×
  • Criar Novo...