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

Comment puis-je renvoyer et modifier des tableaux dans les fonctions C ?

Susan Sarandon
Libérer: 2024-12-20 13:33:11
original
458 Les gens l'ont consulté

How Can I Return and Modify Arrays in C   Functions?

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;
}
Copier après la connexion

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!

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