next up previous
Next: Allouer avec new Up: La mémoire Previous: Les références

Les tableaux

La notion intuitive de tableau est un ensemble de cases qui se suivent, numérotées, et qui sont toutes du même type. En C++, les cases d'un tableau de taille n sont numérotées de 0 à n-1 et se suivent dans la mémoire, de sorte qu'il existe une façon simple d'accéder à la case suivante en connaissant l'adresse de la case précédente, ou même tout simplement d'accéder à n'importe quelle case en connaissant que l'emplacement de la première. La taille d'une case dépend du type de son contenu et peut être connue par le programmeur via la fonction sizeof(). Ainsi sizeof(int) renvoie le nombre de octets nécessaires au stockage d'un objet de type int. Dans un tableau de int, l'accès à la case suivante se fait donc en ajoutant cette taille à l'adresse de la case courante. Compte tenu de ces remarques, un tableau en C++ est simplement donné par l'adresse de sa première case et est donc un pointeur vers cette case.

Ainsi un tableau de int est de type int*.

Il existe une autre syntaxe pour les tableaux: au lieu de déclarer:
int* p
on peut écrire: int p[] dans le cas particulier des arguments d'une fonction. Je vous conseille d'oublier cette dernière.


next up previous
Next: Allouer avec new Up: La mémoire Previous: Les références
Guillaume Charpiat 2006-12-07