Comment déterminer la longueur d'un tableau en C

Comment déterminer la longueur d'un tableau en C

C ne fournit pas de moyen intégré pour obtenir la taille d'undéployer. Vous devez faire du travail à l'avance.

Je tiens à mentionner le moyen le plus simple de le faire, tout d'abord: enregistrer la longueur du tableau dans une variable. Parfois, la solution la plus simple est celle qui fonctionne le mieux.

Au lieu de définir le tableau comme ceci:

int prices[5] = { 1, 2, 3, 4, 5 };

Vous utilisez une variable pour la taille:

const int SIZE = 5;
int prices[SIZE] = { 1, 2, 3, 4, 5 };

Donc, si vous avez besoin d'itérer le tableau en utilisant une boucle, par exemple, vous utilisez celaSIZEvariable:

for (int i = 0; i < SIZE; i++) {
  printf("%u\n", prices[i]);
}

Le moyen procédural le plus simple d'obtenir la valeur de la longueur d'un tableau consiste à utiliser lesizeofopérateur.

Vous devez d'abord déterminer la taille du tableau. Ensuite, vous devez le diviser par la taille d'un élément. Cela fonctionne car chaque élément du tableau a le même type et, en tant que tel, la même taille.

Exemple:

int prices[5] = { 1, 2, 3, 4, 5 };

int size = sizeof prices / sizeof prices[0];

printf("%u", size); /* 5 */

Au lieu de:

int size = sizeof prices / sizeof prices[0];

vous pouvez aussi utiliser:

int size = sizeof prices / sizeof *prices;

comme leaiguillevers la chaîne pointe vers le premier élément de la chaîne.

Téléchargez mon gratuitManuel C


Plus de tutoriels clang: