Heim >Backend-Entwicklung >C++ >Wie werden Arrays in C an Funktionen übergeben?
Arrays an Funktionen in C übergeben
In C können Arrays entweder als Referenz oder als Wert an Funktionen übergeben werden. Allerdings sind Arrays nicht wie reguläre Variablen, da Sie nicht einfach einen Array-Namen an eine Funktion übergeben und ihn wie ein einzelnes Element eines bestimmten Typs behandeln lassen können. Stattdessen wird ein Array-Name als Zeiger auf das erste Element des Arrays behandelt.
Wenn Sie also einen Funktionsparameter als Array deklarieren, deklarieren Sie tatsächlich einen Zeiger auf diesen Elementtyp. Die folgende Funktionsdeklaration deklariert beispielsweise eine Funktion, die ein Array von Ganzzahlen und eine Ganzzahl annimmt, die die Länge des Arrays darstellt:
void printarray(int arg[], int length);
Wenn ein Aufruf der printarray-Funktion von der Hauptfunktion aus erfolgt, wird die Der Name des Arrays wird als Argument übergeben. Der Name des Arrays bezieht sich auf die Adresse des ersten Elements des Arrays. Dies entspricht der Übergabe eines Zeigers auf das erste Element des Arrays.
Im folgenden Code ist die Variable firstarray ein Array aus drei Ganzzahlen. Die Variable Secondarray ist ein Array aus fünf Ganzzahlen. Die printarray-Funktion wird zweimal aufgerufen, einmal mit dem ersten Array-Argument und einmal mit dem zweiten Array-Argument. Die Länge des ersten Array-Arguments beträgt 3 und die Länge des zweiten Array-Arguments beträgt 5.
int firstarray[] = {5, 10, 15}; int secondarray[] = {2, 4, 6, 8, 10}; printarray(firstarray, 3); printarray(secondarray, 5);
In der printarray-Funktion ist der arg-Parameter ein Zeiger auf das erste Element des übergebenen Arrays. Der Längenparameter ist die Länge des Arrays, das übergeben wird. Die printarray-Funktion gibt die Werte der Array-Elemente aus.
void printarray (int arg[], int length) { for (int n = 0; n < length; n++) { cout << arg[n] << " "; } cout << "\n"; }
Die Ausgabe des Codes ist wie folgt folgt:
5 10 15 2 4 6 8 10
Das obige ist der detaillierte Inhalt vonWie werden Arrays in C an Funktionen übergeben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!