Maison >développement back-end >C++ >Comment passer un tableau par référence en C ?
Passer un tableau par référence
Lorsque vous transmettez un tableau à une fonction, il est important de déterminer si vous souhaitez transmettre le tableau par valeur ou par référence. Le passage par valeur crée une copie du tableau, tandis que le passage par référence permet à la fonction de modifier le tableau d'origine.
Passer un tableau par syntaxe de référence
Pour passer un tableau par référence, nous utilisons la syntaxe suivante :
void foo(int (&myArray)[100]);
Dans cette syntaxe, myArray est une référence à un tableau de 100 entiers. Cela signifie que toutes les modifications apportées à myArray dans la fonction foo() seront reflétées dans le tableau d'origine.
Parenthèses séparées et grands crochets
Les parenthèses séparées suivies de les grandes parenthèses (&myArray)[100] servent à deux fins :
Déclarations de tableau alternatives
Il est à noter que les déclarations suivantes sont toutes équivalentes :
void foo(int * x); void foo(int x[100]); void foo(int x[]);
Cependant, la déclaration suivante est différent :
void foo(int (&x)[100]);
Cette déclaration n'accepte que des tableaux de 100 entiers, et nous pouvons utiliser en toute sécurité sizeof sur x.
Déclaration invalide
La La déclaration suivante n'est pas valide :
void foo(int & x[100]); // error
Ceci est analysé comme un "tableau de références", qui n'est pas un type de données valide en C .
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!