A part avec les pointeurs, aucun moyen de récupérer la valeur de "variable" sans devoir la stocker dans une autre ? J'ai parfois du mal à faire communiquer la valeur de retour de mes fonctions.
la variable variable n'existe que et uniquement dans la fonction test, pas en dehors. C'est la notion qu'on appelle durée de vie d'une variable ; la durée de vie vie de la variable variable est limitée au bloc qui la contient.
D'ailleurs, pour faire simple, et en première approximation, toute variable, dès qu'elle est déclarée, a une durée de vie limitée au bloc qui la contient. Un bloc c'est une portion de code comprise entre deux accolades, ou la totalité du programme s'il n'y en a pas (ou si elle est déclarée static, mais cela est une autre histoire).
À partir de là, si tu veux communiquer des valeurs de sortie tu as le choix entre :
WhiteCrow => Merci beaucoup. J'avais complètement omis le fait que la valeur d'une variable est dépendante du bloc dans lequel elle est contenu. Ton explication éclaircit pas mal de mes problèmes.
WhiteCrow à écrit =>C'est à dire ???
Je mélange encore pas mal de chose sur les valeurs de retour (et surtout les pointeurs). La par exemple, je refait le jeu du pendu du cours C. J'ai un main qui applique le jeu du pendu (suivi d'autres fonctions) et une fonction motAleat qui pioche un mot au hasard dans un fichier.txt.
Ma fonction motAleat fonctionne, elle me sort un mot au hasard depuis le fichier, mais je galère encore (bêtement pour un truc aussi simple) à renvoyer la valeur du "motMystere" à mon main. C'est frustrant et bizare de bloquer sur un truc aussi anodin après avoir recodé laborieusement le jeu du pendu, mais je vais me pencher sur le problème.
En tout cas ton explication est parfaite et je retiens surtout que la valeur d'une variable ne peut pas être sorti de son bloc.
En tout cas ton explication est parfaite et je retiens surtout que la valeur d'une variable ne peut pas être sorti de son bloc.
Attention ce n'est pas la valeur de la variable qui ne peut être transmise, c'est la variable elle-même. Tous les passages en C se font par valeur justement.
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Le Tout est souvent plus grand que la somme de ses parties.
Le Tout est souvent plus grand que la somme de ses parties.