Algorithmique et programmation Informatique Cours 12 3/12/2001
Pointeurs Identificateur Fait référence à une case mémoire A l’identificateur correspond une adresse Exemple: soit ma_variable: entier ma_variable 2084
Pointeurs Assignation On assigne à ma_variable une valeur Ce qui revient à placer dans la case-mémoire correspondante la valeur Exemple: ma_variable ma_variable 2084
Pointeurs Variable de type pointeur p : pointeur vers entier L’identificateur correspond à une case mémoire qui peut contenir une adresse Exemple: p : pointeur vers entier p 307
Pointeurs 4147 Variable de type pointeur L’ assignation d’une valeur se fait par le système lors d’un appel de procédure nouveau( ) Exemple: nouveau (p) p
Pointeurs 4147 Objet pointé par p p Dans notre exemple, cet objet est un entier L’ assignation d’une valeur à l’objet, c’est-à-dire l’insertion d’une valeur dans la case mémoire pointée par p se fait par l’instruction p p
Pointeurs 4147 Soit p et q deux pointeurs vers entier Configuration après nouveau(p) ; p p q 1002
Pointeurs 4147 L’assignation q pplace dans q la valeur contenue dans p, valeur qui est l’adresse d’une case mémoire contenant un entier p q _pointeurs_vers_entiers ƒ
Pointeurs Soit le type fiche entité nom: vecteur 1..3 de car numero: entier fin entité et la variable p: pointeur vers fiche p 176
Pointeurs L’instruction nouveau(p) assigne à p une adresse pouvant contenir une fiche 4302 p 176 nouveau (p) 4302
Pointeurs L’instruction 4302 p 176 numéro de p assigne au champ « numéro » de l’entité pointée par p la valeur 234
Pointeurs Et les instructions 4302 p nom 1 de p ‘a’ nom 2 de p ‘b’ nom 3 de p ‘c’ abc Assignent les caractères ‘a’, ‘b’ et ‘c’ aux composantes 1, 2 et 3 du champ « nom » de l’entité pointée par p la valeur
Pointeurs S’il existe un pointeur q vers fiche 4302 p abc q 321
Pointeurs assignation q p 4302 p abc q 321
Pointeurs Suivie de nom 2 de q ‘z’ 4302 p azc q 321 1_pointeurs_vers_fiches ƒ
Pointeurs : tris fiche = entité composée de numero: entier; denom: vecteur[1..30] de caractères fin v = vecteur[1..max] de fiche 123vandeen 524duboi 322herto 251loriese v1v1 v2v2 v3v3 v4v4
Pointeurs : tris fiche = entité composée de numero: entier; denom: vecteur[1..30] de caractères fin v = vecteur[1..max] de fiche 123vandeen 524duboi 322herto 251loriese v1v1 v2v2 v3v3 v4v4
Pointeurs : tris fiche = entité composée de numero: entier; denom: vecteur[1..30] de caractères fin v = vecteur[1..max] de fiche 123vandeen 524duboi 322herto 251loriese v1v1 v2v2 v3v3 v4v4
Pointeurs : tris fiche = entité composée de numero: entier; denom: vecteur[1..30] de caractères fin p : pointeur vers fiche u : vecteur[1..max] de p 123vandeen 524duboi 322herto 251loriese u1u1 u2u2 u3u3 u4u
Pointeurs : tris fiche = entité composée de numero: entier; denom: vecteur[1..30] de caractères fin p : pointeur vers fiche u : vecteur[1..max] de p 123vandeen 524duboi 322herto 251loriese u1u1 u2u2 u3u3 u4u
Pointeurs : tris fiche = entité composée de numero: entier; denom: vecteur[1..30] de caractères fin p : pointeur vers fiche u : vecteur[1..max] de p 2_tri_entités avec et sans pointeurs ƒ 123vandeen 524duboi 322herto 251loriese u1u1 u2u2 u3u3 u4u
Pointeurs et listes pf = pointeur vers fiche fiche = entité composée de numero: entier; nom: chaîne; suivant: pf fin p, tête : pf p tête
Pointeurs et listes nouveau(tête) tête p pf = pointeur vers fiche fiche = entité composée de numero: entier; nom: chaîne; suivant: pf fin p, tête : pf
Pointeurs et listes tête p p tête pf = pointeur vers fiche fiche = entité composée de numero: entier; nom: chaîne; suivant: pf fin p, tête : pf
Pointeurs et listes tête p numéro de p pf = pointeur vers fiche fiche = entité composée de numero: entier; nom: chaîne; suivant: pf fin p, tête : pf
Pointeurs et listes HCl tête p nom de p ‘HCl’ 15 pf = pointeur vers fiche fiche = entité composée de numero: entier; nom: chaîne; suivant: pf fin p, tête : pf
Pointeurs et listes HCl tête p nouveau (suivant de p ) 15 pf = pointeur vers fiche fiche = entité composée de numero: entier; nom: chaîne; suivant: pf fin p, tête : pf
Pointeurs et listes HCl tête p p suivant de p 15 pf = pointeur vers fiche fiche = entité composée de numero: entier; nom: chaîne; suivant: pf fin p, tête : pf
Pointeurs et listes HCl tête p 15 pf = pointeur vers fiche fiche = entité composée de numero: entier; nom: chaîne; suivant: pf fin p, tête : pf numéro de p 42 ; nom de p ‘H 2 SO 4 ’ H 2 SO 4 42
Pointeurs et listes 3_listes ƒ HCl tête p 15 pf = pointeur vers fiche fiche = entité composée de numero: entier; nom: chaîne; suivant: pf fin p, tête : pf suivant de p H 2 SO 4 42
Pointeurs et listes HCl tête p 15 Gestion de la liste: AJOUT en fin de liste p tête tant que suivant de p ≠ faire p suivant de p ftant H 2 SO 4 42
Pointeurs et listes HCl tête p 15 Gestion de la liste: AJOUT en fin de liste nouveau (suivant de p ) H 2 SO 4 42
Pointeurs et listes HCl tête p 15 Gestion de la liste: AJOUT en fin de liste H 2 SO 4 42 p suivant de p
Pointeurs et listes HCl tête p 15 Gestion de la liste: AJOUT en fin de liste H 2 SO 4 42 H2OH2O56 numéro de p 56 nom de p ‘H 2 O’ suivant de p
Pointeurs et listes 3_listes_b ƒ HCl tête p 15 Gestion de la liste: SUPPRESSION d’un élément H 2 SO 4 42 H2OH2O56 suivant de p suivant de (suivant de p )
Pointeurs et listes Annuaire ‘b’‘a’‘c’‘d’‘e’‘f’‘k’‘l’‘y’‘z’ nom numéro pointeur
Pointeurs et listes Annuaire ‘b’‘a’‘c’‘d’‘e’‘f’‘k’‘l’‘y’‘z’
Pointeurs et listes Annuaire ‘b’‘a’‘c’‘d’‘e’‘f’‘k’‘l’‘y’‘z’
Pointeurs et listes 3_listes_b ƒ Annuaire ‘b’‘a’‘c’‘d’‘e’‘f’‘k’‘l’‘y’‘z’