En passant char pointeur en C

Bon alors je suis en train de passer un pointeur de char à une autre fonction. Je peux le faire avec un tableau de char, mais ne peut pas faire avec un pointeur de char. Le problème est que je ne sais pas la taille de celui-ci donc je ne peut rien déclarer au sujet de la taille à l'intérieur de la main() fonction.

#include <stdio.h>

void ptrch ( char * point) {
    point = "asd";
}

int main() {
    char * point;
    ptrch(point);
    printf("%s\n", point);
    return 0;
}

Cela ne fonctionne pas, cependant, que ces deux ouvrages:

1)

#include <stdio.h>

int main() {
    char * point;
    point = "asd";
    printf("%s\n", point);
    return 0;
}

2)

#include <stdio.h>
#include <string.h>

void ptrch ( char * point) {
    strcpy(point, "asd");
}

int main() {
    char point[10];
    ptrch(point);
    printf("%s\n", point);
    return 0;
}

Donc je suis en train d'essayer de comprendre la raison et une solution à mon problème

OriginalL'auteur Sarp Kaya | 2013-01-15