CPP Cours2
CPP Cours2
CPP Cours2
objets - séance 2 -
ENSA Marrakech
4 novembre 2020
Les structures de contrôles (suite)
Les boucles
Il existe deux types de boucles :
La boucle for permet de réunir la déclaration, la condition et
l’incrémentation.
for ( int i = 0; i < 10; i ++)
{ // bloc a repeter
}
La boucle while :
Résultat de l’exécution :
i=0 ;i=1 ;i=2 ;i=3 ;i=4 ; je quitte
Résultat de l’exécution :
i=0 ; i=1 ; i=3 ; i=4 ; je quitte
int main () {
/* On declare un pointeur sur une variable
de type float ( par exemple ) */
float * ptr ;
Tableaux 2D
Un tableau 2d est un tableau de tableaux 1d
On peut dire que le nom d’un tableau 2d est l’adresse d’un
tableau 1d contenant les adresses de tableaux 1d.
c’est un Pointeurs de pointeurs.
Exemple :
Allocation de mémoire
ce qu’on a vu jusqu’à maintenant, c’est la création de tableaux
(1d ou 2d ou plus) statiques, i.e de dimensions fixées au
départ, que probablement on n’utilisera pas entièrement, par
exemple pour les chaînes de caractères.
afin d’économiser la mémoire, il sera utile de tailler la mémoire
selon le besoin.
en C la manipulation dynamique de la mémoire se fait avec les
fonctions malloc et free de la librairie( <stdlib.h>. En
C++, ces fonctions sont remplacées avantageusement par les
opérateurs unaire new et delete.
Allocation de mémoire
// tableau 2 D NxM
float ** T = new float *[ N ];
for ( int i = 0; i < N ; i ++)
T [ i ] = new float [ M ];
...;
for ( int i = 0; i < N ; i ++)
delete [] T [ i ];
delete [] T ;