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 celaSIZE
variable:
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 lesizeof
opé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:
- Introduction au langage de programmation C
- C Variables et types
- Constantes C
- Opérateurs C
- C Conditionnels
- Comment travailler avec des boucles en C
- Introduction aux tableaux C
- Comment déterminer la longueur d'un tableau en C
- Introduction aux chaînes C
- Comment trouver la longueur d'une chaîne en C
- Introduction aux pointeurs C
- Boucle à travers un tableau avec C
- Booléens en C
- Introduction aux fonctions C
- Comment utiliser NULL en C
- Concepts d'E / S de base en C
- Guillemets doubles vs guillemets simples en C
- Comment renvoyer une chaîne à partir d'une fonction C
- Comment résoudre l'avertissement de fonction de bibliothèque déclarant implicitement dans C
- Comment vérifier une valeur de caractère en C
- Comment imprimer le caractère de pourcentage en utilisant `printf ()` en C
- Spécificateurs et modificateurs de conversion C
- Comment accéder aux paramètres de ligne de commande en C
- Portée des variables en C
- Pouvez-vous imbriquer des fonctions dans C?
- Variables statiques en C
- Variables globales C
- Le mot-clé typedef en C
- C Types énumérés
- Structures C
- Fichiers d'en-tête C
- Le préprocesseur C