C array length : estimer la longueur d’un tableau en C
En utilisant différentes méthodes, il est possible de déterminer la longueur des tableaux (array length) en C. Il est ainsi plus facile de gérer les tableaux de manière dynamique et de réagir aux changements de taille.
Array length in C : la longueur d’un tableau en C
La longueur d’un tableau C désigne le nombre d’éléments qu’il contient. Cette information est cruciale pour accéder à certains éléments du tableau, le parcourir ou effectuer des manipulations. Lorsque vous déclarez un tableau en C, la mémoire pour les éléments du tableau est allouée en continu dans la RAM. En C, il n’existe pas de fonction intégrée directe pour déterminer la longueur du tableau, vous devez donc la déterminer manuellement.
Les méthodes les plus courantes sont :
- sizeof().
- Arithmétique des pointeurs.
- Boucles.
sizeof()
sizeof()
fait partie des opérateurs C dans le langage de programmation C. Il détermine la taille d’un type de données ou d’une variable en octets pendant le temps de compilation (compile time). Le type de retour de l’opérateur sizeof
est size_t
, un type entier non signé qui représente la taille en octets. La fonction sizeof()
en C permet aussi de calculer la longueur d’un tableau C.
Syntaxe
Pour déterminer le nombre d’éléments, il faut diviser la taille totale du tableau par la taille d’un seul élément.
- data_type : c’est le type de données dans lequel la longueur du tableau doit être stockée.
- array_name : spécifie le nom du tableau.
- sizeof(array_name) : cette instruction d’expression renvoie la taille totale du tableau en octets.
- sizeof(array_name[index]) : en divisant la taille totale du tableau par la taille d’un seul élément, on obtient le nombre d’éléments du tableau.
- index : représente l’index d’un élément dans le tableau.
Exemple
Ci-dessous, nous utilisons sizeof()
pour déterminer la taille du tableau myArray
et d’un seul élément en octets, ce qui nous permet ensuite de calculer le nombre d’éléments en divisant les résultats.
La sortie est la suivante :
Arithmétique des pointeurs
Avec l’arithmétique des pointeurs, la longueur d’un tableau ne peut pas être déterminée directement. En effet, un pointeur seul ne contient aucune information sur la taille ou la longueur du tableau associé. Mais vous pouvez utiliser les adresses des éléments du tableau pour déterminer la longueur du tableau C.
Syntaxe
&arr
: représente un pointeur vers un tableau d’éléments.(&arr + 1)
: ici, le pointeur sur le tableauarr
est incrémenté de 1. Commearr
est un tableau, cela signifie que le pointeur pointe sur le prochain tableau consécutif du même type quearr
.
Exemple
L’expression *(&arr + 1) - arr
calcule la différence entre le pointeur vers le prochain tableau &arr + 1
et le pointeur vers le premier élément du tableau initial. Dans ce cas, la zone mémoire « suivante » est la fin du tableau. La différence résultante est égale au nombre d’éléments du tableau.
Sortie :
Boucles
Une autre méthode consiste à déterminer la longueur du tableau avec une boucle For. Celle-ci itère dans le tableau et compte combien d’éléments il contient. Pour cela, le tableau doit être déclaré dans le même domaine de validité (scope) que celui dans lequel le code de détermination de la longueur est exécuté.
Exemple
Ici, la boucle incrémente le compteur arrayLength
pour chaque élément parcouru. La condition i < sizeof(arr) / sizeof(arr[0])
assure que la boucle ne s’exécute que tant qu’il y a effectivement des éléments dans le tableau.
Sortie :
- Certificat SSL et protection DDoS
- Sauvegarde et restauration des données
- Assistance 24/7 et conseiller personnel