Maison >développement back-end >C++ >Comment transmettre et renvoyer des tableaux dans les fonctions ?

Comment transmettre et renvoyer des tableaux dans les fonctions ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-25 22:02:10937parcourir

How Do I Pass and Return Arrays in Functions?

Passer et renvoyer des tableaux dans les fonctions

Lors du passage d'un tableau à une fonction en tant qu'argument, il peut être traité implicitement comme un pointeur vers le début du bloc mémoire du tableau. Cela signifie que la fonction peut accéder et manipuler directement les éléments du tableau. Cependant, lorsque vous tentez de renvoyer un tableau à partir d'une fonction, une approche différente est nécessaire.

Renvoyer un tableau

Pour renvoyer un tableau à partir d'une fonction, vous retournez en fait un pointeur vers le premier élément du tableau. Voici un exemple :

int* fillArr(int arr[]) {
    // Do some operations on the array
    return arr;  // Returns a pointer to the first element of arr
}

Utilisation du tableau renvoyé

Après avoir renvoyé un pointeur vers le tableau, vous pouvez l'utiliser dans votre code comme un tableau normal . Par exemple :

int main() {
    int y[10];
    int *a = fillArr(y);  // Call the function and store the returned pointer
    cout << a[0] << endl;  // Access the first element of the array through the pointer
}

Dans cet exemple, la fonction fillArr renvoie un pointeur vers le premier élément du tableau y, qui est stocké dans le pointeur a. Vous pouvez ensuite accéder aux éléments du tableau via ce pointeur.

Conversion implicite du tableau en pointeur

Il est à noter que dans les exemples ci-dessus, nous avons utilisé le syntaxe suivante pour l'argument de la fonction :

int* fillArr(int arr[])

Cependant, ceci est fonctionnellement équivalent to :

int* fillArr(int *arr)

Cela est dû au fait qu'une variable de tableau peut être implicitement convertie en un pointeur vers son premier élément. Par conséquent, vous pouvez transmettre et renvoyer des tableaux en utilisant l'une ou l'autre syntaxe.

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