Les paramètres, en C, sont toujours passés par valeur, jamais par référence. La seule manière de modifier leur valeur est de passer un pointeur sur la valeur à modifier.
Dans ton cas, si tu veux modifier un char* , il faut passer un char** en paramètre.
Note : Si tu es en C++, tu peux utiliser les références au lieu des pointeurs : char*& .