Pour connaître la taille de votre tableau en octets, vous pouvez utiliser l’opérateur sizeof :
int tab[17];
size_t n = sizeof(tab);
Sur mon ordinateur, les ints ont une longueur de 4 octets, donc n est égal à 68.
Pour déterminer le nombre d’éléments du tableau, nous pouvons diviser la taille totale du tableau par la taille des éléments du tableau. Vous pouvez le faire en spécifiant le type, comme ceci :
int tab[17];
size_t n = sizeof(tab) / sizeof(int);
et vous obtiendrez la bonne réponse (68 / 4 = 17), mais si le type de tab
changeait, vous auriez un bug si vous oubliiez de changer aussi le sizeof(int)
.
Le diviseur préféré est donc sizeof(tab[0])
ou l’équivalent sizeof(*tab)
, la taille du premier élément du tableau.
int tab[17];
size_t n = sizeof(tab) / sizeof(tab[0]);