Comment puis-je connaitre la taille d'un tableau en C?

Bonjour,

Comment puis-je connaitre la taille d’un tableau en C ?

C’est-à-dire le nombre d’éléments que le tableau peut contenir ?

Merci d’avance.

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]);

Essayez cela, aussi il donne le nombre d’éléments que le tableau peut contenir.

int size = (&tableau)[1] - tableau;

Voici un tuto pour apprendre les bases des Tableaux en langage C: