Non, dans une déclaration de fonction char* c et char c[] c'est exactement équivalent. Par contre, écrire coucou="FAUX" ne modifie pas la chaîne pointé par coucou pour qu'elle contienne la chaîne "FAUX", mais va juste modifier le pointeur coucou pour qu'il pointe vers la chaîne "FAUX". Or le pointeur est passé "par valeur" et donc cette modification est perdue or de la fonction List_rechercher
Ce qui pourrait fonctionner, c'est d'écrire :
void Liste_Rechercher( char* coucou[] ){
int rang=-1;
}
ou alternativement :
void Liste_Rechercher( char** coucou ){
puis, pour l'appel de la fonction, de faire :
Liste_Rechercher(&tab);
Et là, il y a une subtilité, et je me demande s'il ne faut pas déclarer tab ainsi :
char* tab="FAUX";
Mais je ne suis pas sûr que ce soit nécessaire.