Heim >Backend-Entwicklung >C++ >Wie werden Arrays in C an Funktionen übergeben?

Wie werden Arrays in C an Funktionen übergeben?

DDD
DDDOriginal
2024-12-19 04:26:08980Durchsuche

How Are Arrays Passed to Functions in C  ?

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!

Stellungnahme:
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