Changes between Version 26 and Version 27 of AS6-TME-B6
- Timestamp:
- Mar 29, 2022, 12:47:11 PM (3 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
AS6-TME-B6
v26 v27 115 115 {{{#!protected ------------------------------------------------------------------ 116 116 ''' 117 * 117 * Il ne faut pas seulement parcourir une liste, il faut aussi pouvoir ajouter ou extraire des éléments n'importe où. 118 * Pour ajouter un élément devant un autre, il faut accéder à l'élément précédent et donc avoir un double chaînage. 119 * Cela permet aussi d'ajouter en fin de liste très facilement, puis que l'élément de fin de liste est celui qui précède la racine (si on construit une liste circulaire). 118 120 ''' 119 121 }}} … … 121 123 {{{#!protected ------------------------------------------------------------------ 122 124 ''' 123 * 125 * Pour trouver le pointeur sur la structure porteuse d'un élément de liste, il faut connaître 3 choses : 126 1. l'adresse en mémoire de l'élément de liste, 127 1. le type C de la structure porteuse 128 1. le nom du champ de l'élément de liste dans la structure porteuse. 129 * Le compilateur sait à quelle position le champ élément de liste (dont on lui donne le nom) se trouve dans la structure porteuse (dont on lui donne le type) et il peut déduire l'adresse de la structure porteuse à partir de l'adresse de l'élément avec une simple soustraction : @élément - position 124 130 ''' 125 131 }}}