pointeurs - Les pointeurs Rappel Lorsque l'on excute un...

Info iconThis preview shows pages 1–10. Sign up to view the full content.

View Full Document Right Arrow Icon
Les pointeurs
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
2 Rappel Lorsque l'on exécute un programme, celui-ci est stocké en mémoire: le code à exécuter est stocké, chaque variable que l'on a défini a une zone de mémoire qui lui est réservée, et la taille de cette zone correspond au type de variable que l'on a déclaré. adresse contenu 19996 20000 a de type int 20004 20008 20012 20016
Background image of page 2
3 Pointeur On peut donc théoriquement accéder à une variable de 2 façons: grâce à son nom grâce à l'adresse du premier bloc alloué à la variable Dans le deuxième cas, on va utiliser la notion de pointeur
Background image of page 3

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
4 Différents types de pointeurs Un pointeur est donc une variable qui permet de stocker l'adresse d'une autre variable d'un type donné Différents types de pointeurs selon le type des informations que l'on trouvera à l'adresse indiquée: pointeur sur un caractère, sur un entier, sur un float…
Background image of page 4
5 Pointeur On peut donc théoriquement accéder à une variable de 2 façons: grâce à son nom grâce à l'adresse du premier bloc alloué à la variable On peut donc aussi stocker l'adresse de la variable dans un pointeur afin de pouvoir accéder à celle-ci (on dit que l'on «pointe vers la variable ») Attention cependant: Un pointeur est une variable qui peut 'pointer' sur différentes adresses. Le nom d'une variable reste toujours lié à la même adresse.
Background image of page 5

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
6 Intérêt des pointeurs Manipuler de façon simple des données pouvant être importantes (au lieu de passer à une fonction un élément très grand (en taille) on pourra par exemple lui fournir un pointeur vers cet élément. ..) Il est possible de créer des structures chaînées, c'est-à-dire comportant des maillons (on verra plus tard) Passage de paramètres par variable Tableau de taille quelconque Allocation dynamique
Background image of page 6
7 Déclaration Un pointeur est une variable qui doit être définie en précisant le type de variable pointée, de la façon suivante: type * nom_du_pointeur Le type de variable pointée peut être aussi bien un type de base (tel que int, char. ..) qu'un type complexe (tel que struct que l'on verra plus tard). Grâce au symbole '*' le compilateur sait qu'il s'agit d'une variable de type pointeur et non d'une variable ordinaire, de plus, étant donné que vous précisez (obligatoirement) le type de variable, le compilateur saura combien de blocs suivent le bloc situé à l'adresse pointée (utile lors de l'accès).
Background image of page 7

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
8 Exemple int * adri; Déclare une variable adri destinée à contenir l'adresse d'un entier On dit que adri est une variable de type pointeur sur un entier adri ?
Background image of page 8
9 Initialisation Après avoir déclaré un pointeur il faut l' initialiser . Démarche très importante car sinon il peut
Background image of page 9

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Image of page 10
This is the end of the preview. Sign up to access the rest of the document.

This note was uploaded on 10/08/2010 for the course CH 3123 taught by Professor -- during the Fall '08 term at Ecole Polytechnique Fédérale de Lausanne.

Page1 / 68

pointeurs - Les pointeurs Rappel Lorsque l'on excute un...

This preview shows document pages 1 - 10. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online