Les pointeurs en C valeur main float valeur

  • Slides: 28
Download presentation
Les pointeurs en C. valeur : main () { float valeur; void* pointeur; }

Les pointeurs en C. valeur : main () { float valeur; void* pointeur; } pointeur :

Les pointeurs en C. valeur : main () { float valeur; void* pointeur; pointeur

Les pointeurs en C. valeur : main () { float valeur; void* pointeur; pointeur = &valeur; } pointeur :

Les pointeurs en C. nombre : main () { int nombre; float valeur; void*

Les pointeurs en C. nombre : main () { int nombre; float valeur; void* pointeur; pointeur = &valeur; } valeur : pointeur :

Les pointeurs en C. nombre : main () { int nombre; float valeur; void*

Les pointeurs en C. nombre : main () { int nombre; float valeur; void* pointeur; pointeur = &valeur; pointeur = &nombre; } valeur : pointeur :

Allocation de mémoire en C++ : new et delete. class Point { int x,

Allocation de mémoire en C++ : new et delete. class Point { int x, y; }; main () { Point* p 1; Point* p 2; p 1 = new Point; delete p 1; } Définition de la classe Point.

Allocation de mémoire en C++ : new et delete. class Point { int x,

Allocation de mémoire en C++ : new et delete. class Point { int x, y; }; main () { Point* p 1; Point* p 2; p 1 = new Point; delete p 1; } Déclaration de deux pointeurs sur des objets Point.

Allocation de mémoire en C++ : new et delete. class Point { int x,

Allocation de mémoire en C++ : new et delete. class Point { int x, y; }; main () { Point* p 1; Point* p 2; p 1 = new Point; delete p 1; } Allocation d'un objet Point : p 1 le désigne.

Allocation de mémoire en C++ : new et delete. class Point { int x,

Allocation de mémoire en C++ : new et delete. class Point { int x, y; }; main () { Point* p 1; Point* p 2; p 1 = new Point; delete p 1; } Libération de la mémoire. p 1 ne désigne plus rien.

Allocation de mémoire en C++ : new et delete. class Point { int x,

Allocation de mémoire en C++ : new et delete. class Point { int x, y; }; p 1 : ? main () { Point* p 1; Point* p 2; p 1 = new Point; delete p 1; } p 2 : ?

Allocation de mémoire en C++ : new et delete. class Point { int x,

Allocation de mémoire en C++ : new et delete. class Point { int x, y; }; main () { Point* p 1; Point* p 2; p 1 = new Point; delete p 1; } p 1 : p 2 : ?

Allocation de mémoire en C++ : new et delete. class Point { int x,

Allocation de mémoire en C++ : new et delete. class Point { int x, y; }; main () { Point* p 1; Point* p 2; p 1 = new Point; delete p 1; } p 1 : p 2 : ?

Des ensembles : tableaux et listes. Des objets alloués en mémoire : main ()

Des ensembles : tableaux et listes. Des objets alloués en mémoire : main () { Point* p; p p p } = = = new new new Point; Point;

Des ensembles : tableaux et listes. main () { Point p[10]; }

Des ensembles : tableaux et listes. main () { Point p[10]; }

Des ensembles : tableaux et listes. main () { Point* p[10]; p[0] = new

Des ensembles : tableaux et listes. main () { Point* p[10]; p[0] = new Point; }

Des ensembles : tableaux et listes. main () { Point* p[10]; p[0] = new

Des ensembles : tableaux et listes. main () { Point* p[10]; p[0] = new Point; p[1] = new Point; }

Des ensembles : tableaux et listes. main () { std: : list<Point> points; }

Des ensembles : tableaux et listes. main () { std: : list<Point> points; }

Des ensembles : tableaux et listes. main () { std: : list<Point> points; Point

Des ensembles : tableaux et listes. main () { std: : list<Point> points; Point p; p. x = 10; p. y = 12; points. push_back (p); }

Des ensembles : tableaux et listes. main () { std: : list<Point> points; Point

Des ensembles : tableaux et listes. main () { std: : list<Point> points; Point p; p. x = 10; p. y = 12; points. push_back (p); p. x = 11; p. y = 13; points. push_back (p); }

Des ensembles : tableaux et listes. main () { std: : list<Point> points; for

Des ensembles : tableaux et listes. main () { std: : list<Point> points; for (i = 0; i < 10 ; i++) { Point p; p. x = i; p. y = i+1; points. push_back (p); } }

Des ensembles : tableaux et listes. main () { std: : list<Point*> points; for

Des ensembles : tableaux et listes. main () { std: : list<Point*> points; for (i = 0; i < 10 ; i++) { Point* p = new Point; p->x = i; p->y = i+1; points. push_back (p); } }

Une liste multiforme : problème Polygone x 1, y 1 x 2, y 2.

Une liste multiforme : problème Polygone x 1, y 1 x 2, y 2. . . xn, yn Point Ligne x, y x 1, y 1 x 2, y 2

Une liste multiforme : construction ref Polygone x 1, y 1 x 2, y

Une liste multiforme : construction ref Polygone x 1, y 1 x 2, y 2. . . xn, yn ref ref Point Ligne x, y x 1, y 1 x 2, y 2

Une liste multiforme. ref ? ?

Une liste multiforme. ref ? ?

Une liste multiforme. ref Figure

Une liste multiforme. ref Figure

Une liste multiforme. Figure Polygone x 1, y 1 x 2, y 2. .

Une liste multiforme. Figure Polygone x 1, y 1 x 2, y 2. . . xn, yn Point Ligne x, y x 1, y 1 x 2, y 2

Une liste multiforme. Figure couleur Polygone x 1, y 1 x 2, y 2.

Une liste multiforme. Figure couleur Polygone x 1, y 1 x 2, y 2. . . xn, yn Point Ligne x, y x 1, y 1 x 2, y 2

Une liste dans une structure. class { int int. . . }; Polygone x

Une liste dans une structure. class { int int. . . }; Polygone x 1, y 1; x 2, y 2; x 3, y 3; main () { Polygone poly; poly. x 1 =. . . ; poly. y 1 =. . . ; etc. . . }

Une liste dans une structure. class Polygone { std: : list<Point> points; }; main

Une liste dans une structure. class Polygone { std: : list<Point> points; }; main () { Polygone poly; poly. points. push_back (1, 2); Poly. points. push_back (2, 5); etc. . . }