Maison >développement back-end >C++ >Comment passer un tableau par référence en C ?

Comment passer un tableau par référence en C ?

DDD
DDDoriginal
2024-12-27 07:51:10656parcourir

How to Pass an Array by Reference in C  ?

Passer un tableau par référence

En C , passer un tableau par référence nous permet de modifier le tableau d'origine qui a été passé à la fonction . Lorsque nous utilisons le signe esperluette (&) avant un type de tableau, nous créons une référence à ce tableau.

Considérez le code suivant :

void foo(int (&myArray)[100])
{
}

int main()
{
    int a[100];
    foo(a);
}

Dans cet exemple, la fonction foo accepte une référence à un tableau de 100 entiers. Les parenthèses après myArray sont nécessaires pour indiquer que le paramètre est une référence de tableau, pas un pointeur.

L'expression (&myArray)[100] signifie "une référence à un tableau de 100 entiers". C'est une autre façon de déclarer une référence de tableau. Les déclarations suivantes sont équivalentes :

  • int (&myArray)[100]
  • int *myArray
  • int myArray[]

Lors du passage d'un tableau par référence, le compilateur traite le paramètre de fonction comme un pointeur vers le premier élément du tableau. Cela signifie que toute modification apportée au tableau dans la fonction sera également reflétée dans le tableau d'origine.

Il est important de noter que void foo(int (&myArray)[100]) n'accepte que les tableaux de 100 éléments. Si nous tentions de transmettre un tableau de taille différente à la fonction foo, cela entraînerait une erreur de compilation.

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