C behandelt Array-Parameter als Zeiger, da dies zeitsparender und effizienter ist. Obwohl wir die Adresse jedes Elements des Arrays als Parameter an die Funktion übergeben könnten, wäre dies zeitaufwändiger. Daher ist es besser, die Basisadresse des ersten Elements an die Funktion zu übergeben, zum Beispiel:
void fun(int a[]) { … } void fun(int *a) { //more efficient. ….. }
Hier ist ein Beispielcode in C:
#include void display1(int a[]) //printing the array content { int i; printf("</p><p>Current content of the array is: </p><p>"); for(i = 0; i < 5; i++) printf(" %d",a[i]); } void display2(int *a) //printing the array content { int i; printf("</p><p>Current content of the array is: </p><p>"); for(i = 0; i < 5; i++) printf(" %d",*(a+i)); } int main() { int a[5] = {4, 2, 7, 9, 6}; //initialization of array elements display1(a); display2(a); return 0; }
OUTPUT
Current content of the array is: 4 2 7 9 6 Current content of the array is: 4 2 7 9 6
Das obige ist der detaillierte Inhalt vonWarum behandelt C Array-Parameter als Zeiger?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!