Se connecter / S'enregistrer
Votre question

[c] Question sur les pointeurs

Tags :
  • Compile
  • Programmation
Dernière réponse : dans Programmation
5 Janvier 2008 14:23:30

Bonjour

je suis en train de voir les pointeurs en c sur le sdz. J'aurais juste une question à poser
  1. void decoupeMinutes(long* pointeurHeures, long* pointeurMinutes);
  2.  
  3. int main(int argc, char *argv[])
  4. {
  5. long heures = 0, minutes = 90;
  6.  
  7. // On envoie l'adresse de heures et minutes
  8. decoupeMinutes(&heures, &minutes);
  9.  
  10. // Cette fois, les valeurs ont été modifiées !
  11. printf("%ld heures et %ld minutes", heures, minutes);
  12.  
  13. return 0;
  14. }
  15.  
  16. void decoupeMinutes(long* pointeurHeures, long* pointeurMinutes)
  17. {
  18. /* Attention à ne pas oublier de mettre une étoile devant le nom
  19. des pointeurs ! Comme ça, vous pouvez modifier la valeur des variables,
  20. et non leur adresse ! Vous ne voudriez pas diviser des adresses
  21. n'est-ce pas ? ;o) */
  22. *pointeurHeures = *pointeurMinutes / 60;
  23. *pointeurMinutes = *pointeurMinutes % 60;
  24. }


j'ai ce code la mais j'aurais besoin de savoir si j'ai compris :)  :D 

en gros :
decoupeMinutes(&heures, &minutes);

envois l'adresse des variables heures et minutes à la fonction decoupeMinutes puis le fonction decoupeMinutes récupère les adresse de heures et minutes puis comme il y a * il prend les valeurs qui se trouve aux adresse contenues dans les variables heures et minutes.

Est-ce ca ou est-ce qu'il y a une chose que je n'ai pas compris ?

Autres pages sur : question pointeurs

a b L Programmation
5 Janvier 2008 17:36:31

C'est bien ça.

Une fois compilé, juste avant l'appel de ta fonction, les adresses mémoires de tes 2 variables sont copiées sur la pile. La fonction récupère ces adresses, modifies les contenus des adresses (donc les variables originales) sont modifiés.
6 Janvier 2008 11:48:02

ok

Merci
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS