les pointeurs en c. main () { float valeur; void* pointeur; } pointeur : valeur :
TRANSCRIPT
![Page 1: Les pointeurs en C. main () { float valeur; void* pointeur; } pointeur : valeur :](https://reader036.vdocuments.net/reader036/viewer/2022062300/551d9dba497959293b8dda8d/html5/thumbnails/1.jpg)
Les pointeurs en C.
main (){
float valeur;void* pointeur;
}pointeur :
valeur :
![Page 2: Les pointeurs en C. main () { float valeur; void* pointeur; } pointeur : valeur :](https://reader036.vdocuments.net/reader036/viewer/2022062300/551d9dba497959293b8dda8d/html5/thumbnails/2.jpg)
Les pointeurs en C.
pointeur :
main (){
float valeur;void* pointeur;
pointeur = &valeur;}
valeur :
![Page 3: Les pointeurs en C. main () { float valeur; void* pointeur; } pointeur : valeur :](https://reader036.vdocuments.net/reader036/viewer/2022062300/551d9dba497959293b8dda8d/html5/thumbnails/3.jpg)
main (){
int nombre;float valeur;void* pointeur;
pointeur = &valeur;}
pointeur :
valeur :
nombre :
Les pointeurs en C.
![Page 4: Les pointeurs en C. main () { float valeur; void* pointeur; } pointeur : valeur :](https://reader036.vdocuments.net/reader036/viewer/2022062300/551d9dba497959293b8dda8d/html5/thumbnails/4.jpg)
main (){
int nombre;float valeur;void* pointeur;
pointeur = &valeur;pointeur = &nombre;
}
pointeur :
valeur :
nombre :
Les pointeurs en C.
![Page 5: Les pointeurs en C. main () { float valeur; void* pointeur; } pointeur : valeur :](https://reader036.vdocuments.net/reader036/viewer/2022062300/551d9dba497959293b8dda8d/html5/thumbnails/5.jpg)
Allocation de mémoire en C++ : new et delete.class Point{
int x, y;};
main (){
Point* p1;Point* p2;
p1 = new Point;delete p1;
}
Définition de la classe Point.
![Page 6: Les pointeurs en C. main () { float valeur; void* pointeur; } pointeur : valeur :](https://reader036.vdocuments.net/reader036/viewer/2022062300/551d9dba497959293b8dda8d/html5/thumbnails/6.jpg)
Allocation de mémoire en C++ : new et delete.
Déclaration de deux pointeurssur des objets Point.
class Point{
int x, y;};
main (){
Point* p1;Point* p2;
p1 = new Point;delete p1;
}
![Page 7: Les pointeurs en C. main () { float valeur; void* pointeur; } pointeur : valeur :](https://reader036.vdocuments.net/reader036/viewer/2022062300/551d9dba497959293b8dda8d/html5/thumbnails/7.jpg)
Allocation de mémoire en C++ : new et delete.
Allocation d'un objet Point : p1 le désigne.
class Point{
int x, y;};
main (){
Point* p1;Point* p2;
p1 = new Point;delete p1;
}
![Page 8: Les pointeurs en C. main () { float valeur; void* pointeur; } pointeur : valeur :](https://reader036.vdocuments.net/reader036/viewer/2022062300/551d9dba497959293b8dda8d/html5/thumbnails/8.jpg)
Allocation de mémoire en C++ : new et delete.
Libération de la mémoire. p1 nedésigne plus rien.
class Point{
int x, y;};
main (){
Point* p1;Point* p2;
p1 = new Point;delete p1;
}
![Page 9: Les pointeurs en C. main () { float valeur; void* pointeur; } pointeur : valeur :](https://reader036.vdocuments.net/reader036/viewer/2022062300/551d9dba497959293b8dda8d/html5/thumbnails/9.jpg)
Allocation de mémoire en C++ : new et delete.
p1 : ?
p2 : ?
class Point{
int x, y;};
main (){
Point* p1;Point* p2;
p1 = new Point;delete p1;
}
![Page 10: Les pointeurs en C. main () { float valeur; void* pointeur; } pointeur : valeur :](https://reader036.vdocuments.net/reader036/viewer/2022062300/551d9dba497959293b8dda8d/html5/thumbnails/10.jpg)
p1 :
p2 : ?
Allocation de mémoire en C++ : new et delete.class Point{
int x, y;};
main (){
Point* p1;Point* p2;
p1 = new Point;delete p1;
}
![Page 11: Les pointeurs en C. main () { float valeur; void* pointeur; } pointeur : valeur :](https://reader036.vdocuments.net/reader036/viewer/2022062300/551d9dba497959293b8dda8d/html5/thumbnails/11.jpg)
p1 :
p2 : ?
Allocation de mémoire en C++ : new et delete.class Point{
int x, y;};
main (){
Point* p1;Point* p2;
p1 = new Point;delete p1;
}
![Page 12: Les pointeurs en C. main () { float valeur; void* pointeur; } pointeur : valeur :](https://reader036.vdocuments.net/reader036/viewer/2022062300/551d9dba497959293b8dda8d/html5/thumbnails/12.jpg)
Des ensembles : tableaux et listes.
Des objets alloués en mémoire :
main (){
Point* p;
p = new Point;p = new Point;p = new Point;p = new Point;p = new Point;
}
![Page 13: Les pointeurs en C. main () { float valeur; void* pointeur; } pointeur : valeur :](https://reader036.vdocuments.net/reader036/viewer/2022062300/551d9dba497959293b8dda8d/html5/thumbnails/13.jpg)
Des ensembles : tableaux et listes.
main (){
Point p[10];
}
![Page 14: Les pointeurs en C. main () { float valeur; void* pointeur; } pointeur : valeur :](https://reader036.vdocuments.net/reader036/viewer/2022062300/551d9dba497959293b8dda8d/html5/thumbnails/14.jpg)
Des ensembles : tableaux et listes.
main (){
Point* p[10];
p[0] = new Point;}
![Page 15: Les pointeurs en C. main () { float valeur; void* pointeur; } pointeur : valeur :](https://reader036.vdocuments.net/reader036/viewer/2022062300/551d9dba497959293b8dda8d/html5/thumbnails/15.jpg)
Des ensembles : tableaux et listes.
main (){
Point* p[10];
p[0] = new Point;p[1] = new Point;
}
![Page 16: Les pointeurs en C. main () { float valeur; void* pointeur; } pointeur : valeur :](https://reader036.vdocuments.net/reader036/viewer/2022062300/551d9dba497959293b8dda8d/html5/thumbnails/16.jpg)
Des ensembles : tableaux et listes.
main (){
std::list<Point> points;}
![Page 17: Les pointeurs en C. main () { float valeur; void* pointeur; } pointeur : valeur :](https://reader036.vdocuments.net/reader036/viewer/2022062300/551d9dba497959293b8dda8d/html5/thumbnails/17.jpg)
Des ensembles : tableaux et listes.
main (){
std::list<Point> points;
Point p;
p.x = 10;p.y = 12;
points.push_back (p);}
![Page 18: Les pointeurs en C. main () { float valeur; void* pointeur; } pointeur : valeur :](https://reader036.vdocuments.net/reader036/viewer/2022062300/551d9dba497959293b8dda8d/html5/thumbnails/18.jpg)
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);}
![Page 19: Les pointeurs en C. main () { float valeur; void* pointeur; } pointeur : valeur :](https://reader036.vdocuments.net/reader036/viewer/2022062300/551d9dba497959293b8dda8d/html5/thumbnails/19.jpg)
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);}
}
![Page 20: Les pointeurs en C. main () { float valeur; void* pointeur; } pointeur : valeur :](https://reader036.vdocuments.net/reader036/viewer/2022062300/551d9dba497959293b8dda8d/html5/thumbnails/20.jpg)
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);}
}
![Page 21: Les pointeurs en C. main () { float valeur; void* pointeur; } pointeur : valeur :](https://reader036.vdocuments.net/reader036/viewer/2022062300/551d9dba497959293b8dda8d/html5/thumbnails/21.jpg)
Une liste multiforme : problème
Polygone Point Ligne Ligne
x, y x1, y1x2, y2
x1, y1x2, y2x1, y1
x2, y2...xn, yn
![Page 22: Les pointeurs en C. main () { float valeur; void* pointeur; } pointeur : valeur :](https://reader036.vdocuments.net/reader036/viewer/2022062300/551d9dba497959293b8dda8d/html5/thumbnails/22.jpg)
Une liste multiforme : construction
Polygone Point Ligne Ligne
x, y x1, y1x2, y2
x1, y1x2, y2x1, y1
x2, y2...xn, yn
ref ref ref ref
![Page 23: Les pointeurs en C. main () { float valeur; void* pointeur; } pointeur : valeur :](https://reader036.vdocuments.net/reader036/viewer/2022062300/551d9dba497959293b8dda8d/html5/thumbnails/23.jpg)
Une liste multiforme.
? ? ? ?
ref ref ref ref
![Page 24: Les pointeurs en C. main () { float valeur; void* pointeur; } pointeur : valeur :](https://reader036.vdocuments.net/reader036/viewer/2022062300/551d9dba497959293b8dda8d/html5/thumbnails/24.jpg)
Une liste multiforme.
Figure Figure Figure Figure
ref ref ref ref
![Page 25: Les pointeurs en C. main () { float valeur; void* pointeur; } pointeur : valeur :](https://reader036.vdocuments.net/reader036/viewer/2022062300/551d9dba497959293b8dda8d/html5/thumbnails/25.jpg)
Une liste multiforme.
Figure
Polygone Point Ligne Ligne
x, y x1, y1x2, y2
x1, y1x2, y2x1, y1
x2, y2...xn, yn
![Page 26: Les pointeurs en C. main () { float valeur; void* pointeur; } pointeur : valeur :](https://reader036.vdocuments.net/reader036/viewer/2022062300/551d9dba497959293b8dda8d/html5/thumbnails/26.jpg)
Une liste multiforme.
Figure
Polygone Point Ligne Ligne
x, y x1, y1x2, y2
x1, y1x2, y2x1, y1
x2, y2...xn, yn
couleur
![Page 27: Les pointeurs en C. main () { float valeur; void* pointeur; } pointeur : valeur :](https://reader036.vdocuments.net/reader036/viewer/2022062300/551d9dba497959293b8dda8d/html5/thumbnails/27.jpg)
Une liste dans une structure.class Polygone{ int x1, y1; int x2, y2; int x3, y3; ...};
main (){
Polygone poly;
poly.x1 = ...;poly.y1 = ...;etc...
}
![Page 28: Les pointeurs en C. main () { float valeur; void* pointeur; } pointeur : valeur :](https://reader036.vdocuments.net/reader036/viewer/2022062300/551d9dba497959293b8dda8d/html5/thumbnails/28.jpg)
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...
}