Renvoi de tableaux dans les fonctions
En C , les tableaux ne sont pas des objets de première classe, ce qui signifie qu'ils ne peuvent pas être directement renvoyés par les fonctions. Cependant, il existe deux approches courantes pour travailler avec des tableaux dans des fonctions :
Approche 1 : Passage par référence
Comme le démontre la question, un tableau peut être transmis à une fonction comme référence, permettant à la fonction de modifier le tableau d'origine. La fonction peut alors renvoyer un vide ou un autre type de données tout en ayant toujours accès au tableau mis à jour.
Approche 2 : Renvoyer un pointeur
Alternativement, les tableaux peuvent être renvoyés des fonctions comme pointeurs vers leur premier élément. C'est essentiellement la même chose que le passage par référence, car la fonction peut toujours accéder et modifier le tableau d'origine via le pointeur.
Exemple d'implémentation :
int* fillArray(int arr[], int size) { for (int i = 0; i < size; ++i) { arr[i] = i + 1; } return arr; } int main() { int arr[5]; int* result = fillArray(arr, 5); // Access and print the modified array through the pointer for (int i = 0; i < 5; ++i) { cout << result[i] << " "; } cout << endl; return 0; }
Dans Dans cet exemple, la fonction fillArray prend une référence de tableau et une taille en entrée et renvoie un pointeur vers le premier élément du tableau modifié. La fonction principale appelle cette fonction et stocke le résultat dans un pointeur. Il accède ensuite au tableau modifié via ce pointeur.
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!