Pointeur

Bonjour,
je me demande si l'un parmi vous pourrame faire la différence entre

& et * et quand est ce que je dois les utiliser

*pointeur=&nombre et ca qu'est ce qui il veut dire
merciiiiiiii
Configuration: Windows XP
Internet Explorer 7.0

2 réponses

  • Votes
  • Date
  • Date décroissante
  1. Contributeur
    Salut,
    int *pt; signifie que tu déclares un pointeur. pt désignera l'adresse du pointeur, et cela pointera vers *pt.
    int a=5; signifie que tu stockes la variable 5 à l'adresse mémoire &a.
    Donc pt=&a; signifie que l'adresse de pt contiendra l'adresse de a, et que *pt pointera vers 5.
    Donc *pt=6; modifiera la variable a.

    Tu devrais regarder des tutoriaux pour approfondir cette notion très importante en C. Tu peux par exemple aller sur le site du zéro.
    Cdlt
    1. Contributeur
      !!!
      rien à voir !
      * sert à aller d'un pointeur vers sa valeur pointé, & sert à connâitre l'adresse (le premier pointeur) d'une variable c'est dire l'opération inverse.
      si tu as une variable simple int a; et un pointeur int *p; Tu peux faire les opérations suivante :
      *p=a; tu mets la valeur de a dans la cas mémoire pointée par p. *p et a restent indépendant
      a=*p; opération inverse, tu mets la valeur pointé par p dans a;
      p=&a; tu dit à p de pointer vers la variable a, c'est à dire que p prend la valeur de l'adresse de la variable a. *p et a ont la même valeur et sont synomine l'un de l'autre, c'est à dire que si tu modifie a tu modifie *p et inversement.
      a=p, p=a, a=&p; sont des opérations valide mais à ne pas utiliser, il y a des chance que ça ne soit pas ce que tu veuille faire !
      *a n'a aucun sens, car a est un entier. &p est l'adresse de la variable pointeur p. int **pp; pp=&p;
      Si tu fais une ou deux heures d'assembleur, tu comprendra mieux ces notions de pointeur et d'adresse.