Maison > développement back-end > C++ > Comment les tableaux peuvent-ils être transmis par référence en C ?

Comment les tableaux peuvent-ils être transmis par référence en C ?

Patricia Arquette
Libérer: 2024-12-13 08:47:14
original
821 Les gens l'ont consulté

How Can Arrays Be Passed by Reference in C  ?

Passer des tableaux par référence en C

Question :

Les tableaux peuvent-ils être passés par référence en C ? Si oui, quelle est la syntaxe appropriée ?

Réponse :

Oui, les tableaux ne peuvent être transmis que par référence en C . La syntaxe appropriée est :

void foo(double (&bar)[10])
Copier après la connexion

où bar est la référence du tableau et 10 est la taille du tableau.

Cependant, cette syntaxe empêche de transmettre des tableaux de tailles arbitraires. Pour transmettre un tableau de n'importe quelle taille, une fonction basée sur un modèle peut être utilisée :

template<typename T, size_t N>
void foo(T (&amp;bar)[N])
Copier après la connexion

où N capture la taille du tableau au moment de la compilation.

Alternatives :

Envisagez d'utiliser std::vector ou std::array (en C 11) comme alternatives au passage de tableaux par référence. Ceux-ci offrent un moyen plus flexible et plus sûr de gérer les collections de données.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal