Maison  >  Article  >  développement back-end  >  Comment obtenir la longueur d'un tableau en langage C

Comment obtenir la longueur d'un tableau en langage C

小老鼠
小老鼠original
2024-05-08 17:45:28905parcourir

Il existe deux façons d'obtenir la longueur d'un tableau en langage C : utilisez l'opérateur sizeof() : length = sizeof(arr) / sizeof(arr[0]); utilisez la macro : #define ARRAY_LENGTH(arr) (sizeof( arr) / sizeof (arr[0]));

Comment obtenir la longueur d'un tableau en langage C

Comment obtenir la longueur d'un tableau en langage C

En langage C, un tableau est une structure de données qui peut stocker une collection de données du même type. Contrairement à d’autres langages de programmation, il n’existe pas de mécanisme intégré en C permettant d’obtenir la longueur d’un tableau. Par conséquent, nous devons obtenir la longueur du tableau par d’autres méthodes.

Méthode 1 : Utiliser l'opérateur sizeof()

L'opérateur sizeof() renvoie le nombre d'octets occupés par une variable ou une structure de données en mémoire. Vous pouvez l'utiliser pour calculer la longueur du tableau comme suit : sizeof() 运算符返回变量或数据结构在内存中占用的字节数。可以用它来计算数组长度,方法如下:

<code class="c">#include <stdio.h>

int main() {
    int arr[] = {1, 2, 3, 4, 5};
    int length = sizeof(arr) / sizeof(arr[0]);
    printf("数组长度: %d\n", length);

    return 0;
}</code>

在这个例子中,arr 是一个整数数组。sizeof(arr) 返回整个数组占用的字节数,sizeof(arr[0])

<code class="c">#define ARRAY_LENGTH(arr) (sizeof(arr) / sizeof(arr[0]))</code>
Dans cet exemple, arr est un tableau d'entiers. sizeof(arr) renvoie le nombre d'octets occupés par l'ensemble du tableau, sizeof(arr[0]) renvoie le nombre d'octets occupés par un seul élément du tableau. En divisant le premier par le second, nous pouvons obtenir la longueur du tableau.

Méthode 2 : Utiliser des macros

Nous pouvons définir une macro pour obtenir la longueur du tableau. Les macros sont des directives de préprocesseur qui sont développées au moment de la compilation. Par exemple :

<code class="c">#include <stdio.h>

int main() {
    int arr[] = {1, 2, 3, 4, 5};
    int length = ARRAY_LENGTH(arr);
    printf("数组长度: %d\n", length);

    return 0;
}</code>
Maintenant, nous pouvons utiliser une macro pour obtenir la longueur du tableau :

rrreee Remarque :

  • Ces méthodes ne fonctionnent que pour les tableaux statiques de longueur connue.
  • Si la longueur du tableau est variable (par exemple, un tableau alloué dynamiquement), vous devrez utiliser d'autres méthodes pour suivre la longueur du tableau.
🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn