? Tableaux en programmation informatique sont des collections ou des séquences de valeurs contenues dans un seul nom de variable. Ces structures de données permettent aux programmeurs de représenter des listes de séries ou les données données à des fins diverses , telles que le tri ou itération. Cependant, dans de nombreux langages de programmation tels que C /C + + , les programmeurs doivent déclarer les tableaux statiques, la taille des tableaux immuables . En utilisant des techniques d'allocation de mémoire dans un langage tel que C + + , le programmeur peut créer dynamiquement des tableaux ou même redimensionner ces tableaux pendant l'exécution du programme. Tableaux
langues de niveau inférieur tels que C ou C + + , les tableaux sont statiques. Une fois déclarée avec une valeur de taille , ce tableau sera toujours maintenir cette taille. Le compilateur alloue un bloc de mémoire continu pour le tableau. Toutes les autres fonctions ou variables qui ont besoin de mémoire seront placés après le tableau. En conséquence, le tableau ne peut pas changer la taille sans écraser les données qui le suit. Ainsi, par exemple , une fois un programmeur déclare un tableau avec une vingtaine de places , ce tableau aura toujours vingt espaces, qu'ils soient utilisés ou non, pour la vie de la structure de données .
Allocation de mémoire sur le tas
Pour contourner cette limitation , toutefois , les programmeurs peuvent allouer de la mémoire sur le tas . Normalement, les variables et les tableaux déclarés dans un programme ou une fonction sont placés sur la pile , ce qui représente essentiellement la mémoire à court terme. Une fois la durée de vie de la fonction du tableau existe sur les finitions , le tableau est supprimé. En utilisant le " nouveau " mot-clé , cependant , le programmeur peut recueillir la mémoire du tas , ce qui est la mémoire à long terme qui existe en dehors de la fonction qui déclare le tableau. En outre , le programmeur peut utiliser le tas de déclarer des tableaux dynamiquement.
Dynamique tableaux
tableaux , le programmeur doit déclarer la taille du tableau à déclaration. Cette taille doit être représentée par une valeur constante, soit une variable constante ou un nombre entier . Cependant, en utilisant l'opérateur "new" , le programmeur peut utiliser des variables régulières à des tableaux de taille , et l'utilisateur peut même saisir la valeur de ces variables au cours de l'exécution. L'exemple suivant montre la différence :
int main () { int
arr [ 5] ; //nouveau tableau , doit être dimensionné à la taille de valueint constant = 5; int * dynamic_array = new int [size] ; //taille du tableau est dynamique
Redimensionnement des tableaux
ces tableaux dynamiques , le programmeur peut ensuite créer des tableaux qui peuvent être redimensionnées . La classe " vecteur" représente un tableau expansion ou contraction dynamique qui taks avantage des tableaux dynamiques . L'exemple suivant illustre comment créer un tableau simple qui pousse de plus grande taille :
int main () { int *
arr = new int [ 5] ; int new_size = 10; < br >
arr [ 0 ] = 1; arr [ 1] = 2;
/* redimensionnement * /int * arr2 = new int [ new_size ] ;
arr2 [0] = arr [ 0]; arr2 [1] = arr [ 1];
delete [] arr ; arr = arr2 ;
return 0; }