Heim > Backend-Entwicklung > C++ > Wie kann ich Arrays in C-Funktionen zurückgeben und ändern?

Wie kann ich Arrays in C-Funktionen zurückgeben und ändern?

Susan Sarandon
Freigeben: 2024-12-20 13:33:11
Original
460 Leute haben es durchsucht

How Can I Return and Modify Arrays in C   Functions?

Arrays in Funktionen zurückgeben

In C sind Arrays keine erstklassigen Objekte, was bedeutet, dass sie nicht direkt von Funktionen zurückgegeben werden können. Es gibt jedoch zwei gängige Ansätze für die Arbeit mit Arrays in Funktionen:

Ansatz 1: Übergabe per Referenz

Wie in der Frage gezeigt, kann ein Array übergeben werden eine Funktion als Referenz, sodass die Funktion das ursprüngliche Array ändern kann. Die Funktion kann dann ein Leerzeichen oder einen anderen Datentyp zurückgeben, während sie weiterhin Zugriff auf das aktualisierte Array hat.

Ansatz 2: Einen Zeiger zurückgeben

Alternativ können Arrays zurückgegeben werden von Funktionen als Zeiger auf ihr erstes Element. Dies ist im Wesentlichen dasselbe wie die Übergabe per Referenz, da die Funktion weiterhin über den Zeiger auf das ursprüngliche Array zugreifen und es ändern kann.

Implementierungsbeispiel:

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;
}
Nach dem Login kopieren

In In diesem Beispiel verwendet die FillArray-Funktion eine Array-Referenz und eine Größe als Eingabe und gibt einen Zeiger auf das erste Element des geänderten Arrays zurück. Die Hauptfunktion ruft diese Funktion auf und speichert das Ergebnis in einem Zeiger. Anschließend greift es über diesen Zeiger auf das geänderte Array zu.

Das obige ist der detaillierte Inhalt vonWie kann ich Arrays in C-Funktionen zurückgeben und ändern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage