Fondamentaux C pointeur de la question de l'utilisation de 'strcpy'

L'homme, les pointeurs de continuer à me donner des problèmes. J'ai pensé que j'ai compris le concept.(En gros, que vous pouvez utiliser *ptr lorsque vous souhaitez manipuler la mémoire réelle enregistré à l'emplacement que ptr pointe. Vous utilisez simplement ptr si vous souhaitez déplacer le pointeur en faisant des choses comme ptr ptr++ ou--.) Donc, si c'est le cas, si vous utilisez l'astérisque pour manipuler les fichiers que le pointeur pointe vers, comment cela fonctionne:

char *MallocAndCopy( char *line ) {

    char *pointer;
    if ( (pointer = malloc( strlen(line)+1 )) == NULL ) {
        printf( "Out of memory!!!  Goodbye!\n" );
        exit( 0 );
    }
    strcpy( pointer, line );

    return pointer;
}

malloc renvoie un pointeur, donc je comprends pourquoi le "pointeur" dans la condition si ne pas utiliser l'astérisque. Cependant, dans la fonction strcpy, il envoie le CONTENU de la ligne pour le CONTENU du pointeur. Ne devrait-elle pas être:

strcpy( *pointer, *line);

????? Ou est ma compréhension de pointeurs correcte et qui est juste la manière que la fonction strcpy fonctionne?

OriginalL'auteur startuprob | 2010-10-13