Comment déclarer les tableaux en c ++

La manière habituelle de déclaration d'un tableau est de simplement aligner le nom du type, suivie d'un nom de variable, suivie d'une taille entre parenthèses, comme dans cette ligne de code:

Numéros int [10] -

Ce code déclare un tableau de 10 entiers. Le premier élément obtient l'index 0, et l'élément final obtient l'indice 9. Toujours se rappeler que les tableaux en C ++ commencent à 0, et le plus haut indice est un de moins que la taille. (Rappelez-vous, index se réfère à la position dans la matrice, et taille se réfère au nombre d'éléments dans le tableau).

Une question commune que l'étudiant de programmation habituelle demande est, “ Puis-je déclarer un tableau sans spécifier une taille ”?; La ligne devrait ressembler à ceci:

Numéros int []

Dans certaines situations, vous pouvez déclarer un tableau sans mettre un certain nombre dans les parenthèses. Par exemple, vous pouvez initialiser un tableau sans spécifier le nombre d'éléments:

MyNumbers int [] = {} - 1,2,3,4,5,6,7,8,9,10

Le compilateur est assez intelligent pour compter le nombre d'éléments que vous mettez à l'intérieur des accolades, puis le compilateur fait que comptent la taille du tableau.




Spécification de la taille du tableau permet de diminuer vos chances d'avoir des bogues, insectes, partout dans le monde des insectes. De plus, il a l'avantage supplémentaire que, dans la déclaration réelle, si le nombre entre parenthèses ne correspond pas au nombre d'éléments à l'intérieur des accolades, le compilateur émet une erreur, du moins si le nombre est plus petit de toute façon. Ce qui suit

Int MyNumbers [5] = {} - 1,2,3,4,5,6,7,8,9,10

donne cette erreur du compilateur:

erreur: trop d'initialiseurs pour 'int [5] »

Mais si le chiffre entre parenthèses est supérieur au nombre d'éléments, comme dans le code suivant, vous ne recevrez pas une erreur. Donc sois prudent!

MyNumbers int [15] = {} - 1,2,3,4,5,6,7,8,9,10

Vous pouvez aussi sauter spécifiant la taille du tableau lorsque vous passez un tableau dans une fonction, comme ceci:

int AddUp (Numéros de int [], int Count) {int boucle int somme = 0-en (loop = 0- boucle lt; Boucle comptage ++) {+ = somme des nombres [LOOP] -}} retour l'été

Cette technique est particulièrement puissante car le AddUp fonction peut travailler pour un tableau de taille. Vous pouvez appeler la fonction comme ceci:

cout lt; lt; AddUp (MyNumbers, 10) lt; lt; endl-

Mais cette façon de faire est assez ennuyeux parce que vous devez spécifier la taille chaque fois que vous appelez pour la fonction. Cependant, vous pouvez contourner ce problème. Regardez cette ligne de code:

cout lt; lt; AddUp (MyNumbers, sizeof (MyNumbers) / 4) lt; lt; endl-

Avec le tableau, le taille de opérateur vous indique combien d'octets qu'il utilise. Mais la taille de la matrice est généralement le nombre d'éléments, et non le nombre d'octets. Donc, vous divisez le résultat de taille de par 4 (la taille de chaque élément).

Mais maintenant vous avez ce nombre magique, 4, assis là. (MNuméro agic se réfère à un certain nombre apparemment arbitraire qui est bourré quelque part dans votre code) Donc un peu meilleure approche serait d'entrer dans cette ligne.:

cout lt; lt; AddUp (MyNumbers, sizeof (MyNumbers) / sizeof (int)) lt; lt; endl-

Or, cette ligne de code fonctionne, et voici pourquoi: Le taille de la matrice divisée par le taille de chaque élément du tableau donne le nombre d'éléments dans le tableau.


» » » » Comment déclarer les tableaux en c ++