Indexation dans un tableau en C ++

En C ++, vous devez fournir une index pour accéder à un élément spécifique dans le tableau. Un index doit être un type de comptage (tel que int), Comme l'a démontré ici:

nScores [11] = 10-

Cela ressemble à la façon dont les voitures de location sont numérotées. Cependant, contrairement aux humains, C ++ commence par 0 lorsque la numérotation de ses tableaux. Ainsi, le premier score dans le tableau nScores est nScores [0].




Alors, comment fonctionne exactement ce travail? Eh bien, pensez à une location place de stationnement. La figure montre comment les voitures de location sont généralement numérotées dans leurs parcs de stationnement. La première voiture à la ligne B porte la désignation B1. Pour trouver B11, il suffit de déplacer votre regard dix voitures vers la droite.

image0.jpg

C ++ fait une chose semblable. Pour exécuter l'instruction nScores [11] = 10, C ++ commence par l'adresse du premier élément dans nScores. Il se déplace ensuite vers les bons espaces et stocke 11 à 10 à cet endroit. Ceci est représenté graphiquement dans la figure suivante.

image1.jpg

Le fait que C ++ commence à compter à zéro conduit à un point qui confond toujours les débutants. La déclaration

int nScores [100] -

déclare 100 partitions, qui sont numérotées de 0 à 99. L'expression

nScores [100] = 0- // ceci est une erreur

zéros sur le premier élément au-delà la fin du tableau. Le dernier élément du tableau est nScores [99]. Le compilateur C ne sera pas attraper cette erreur et se fera un plaisir accéder à cette non-élément, qui conduit très souvent au programme accédant à une autre variable par erreur. Ce type d'erreur est très difficile à trouver parce que les résultats sont si imprévisibles.


» » » » Indexation dans un tableau en C ++