Bonjour,
Je cherche à exploiter arge en dehors du main.
A cette fin, j'ai déclaré une variable globale :
Dans le main, j'ai affecté la valeur de arge à global_env comme ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part char *global_env;
ça fonctionne, hors de main la variable global_env contient bien la même adresse que arge (vérifié avec printf("%p",variable)
Code : Sélectionner tout - Visualiser dans une fenêtre à part global_env=arge;
Mais j'ai le warning suivant à la compilation :
rien d'étonnant, le prototype de arge dans main étant *arge[] et moi je ne met pas les crochets.
Code : Sélectionner tout - Visualiser dans une fenêtre à part warning: assignment from incompatible pointer type [enabled by default]
Si je les met, ça ne compile pas :
et
Code : Sélectionner tout - Visualiser dans une fenêtre à part warning: array global_env assumed to have one element [enabled by default]
ce qui ne me parait pas aberrant, un tableau devant avoir une taille.
Code : Sélectionner tout - Visualiser dans une fenêtre à part error: global_env has an incomplete type
Quelle est la bonne pratique ?
Merci d'avance.
Partager