Les pointeurs

Extrait du chapitre:

 

Nous avons vu la notion de structures de données et nous avons étudié les structures de données dont la manipulation est prévue en tant que telle dans la plupart des langages de programmation. Nous avons fait, en particulier, la distinction entre les structures de données statiques et les structures de données dynamiques. De plus les seules structures de données dynamiques que nous ayons rencontrées jusqu'à maintenant sont les fichiers, qui concernent la mémoire de masse.

Les autres structures de données dont on peut avoir besoin sont appelées structures de données abstraites. L'adjectif fait référence au fait qu'elles ne sont pas implémentées dans le language de programmation : il faut d'abord constituer un cahier des charges précis sur la manipulation puis ensuite les implémenter. L'étude des structures de données abstraites les plus courantes, parmi celles qui ont été dégagées au cours de l'histoire de la programmation, fait l'objet d'un cours à part entière, de taille analogue au cours d'initiation à la programmation. Nous renvoyons donc à un tel cours pour leur étude.

L'implémentation des structures de données dynamiques est facilitée par a gestion de la mémoire. Nous avons déjà fait remarquer à plusieurs reprises que le programmeur n'a pas à entrer dans les détails du matériel mais ne doit considérer que les besoins de la programmation. Un bon compromis, en ce qui concerne la programmation, entre les structures de données dynamiques toutes faites et la gestion directe de la mémoire (dépendant, en particulier, du matériel utilisé) est l'utilisation des pointeurs. Nous allons étudier cette notion de pointeur dans ce chapitre.

En fait les pointeurs sont déjà apparus plus tôt à propos du passage par adresse des arguments des fonctions. Ce dernier point est une spécificité du langage C.

Attachments:
Download this file (th2-ch05-les-pointeurs.pdf)th2-ch05-les-pointeurs.pdf[ ]115 kB