In C, wo ein Array in einen Zeiger zerfällt, kann das Abrufen der Array-Größe vom Zeiger eine Herausforderung sein.
Um die Größe eines als Zeiger übergebenen Arrays zu ermitteln, sind wie beim Zeiger selbst zusätzliche Informationen erforderlich diese Daten nicht enthalten.
Um dieses Problem zu lösen, stehen zwei Ansätze zur Verfügung:
Übergabe von Größeninformationen als Argument: Senden Sie die Größe des Arrays als zusätzlichen Parameter an die Funktion. Zum Beispiel:
func(int* array, size_t arraySize);
Verwenden der Array-Syntax: Wenn die Größe des Arrays im Voraus bekannt ist, wird durch die Übergabe als Array fester Größe derselbe Effekt erzielt:
func(int array[5]);
Die Zeiger-Zerfallsregel Ermöglicht, dass sich Arrays wie Zeiger verhalten. Dies bedeutet jedoch nicht, dass sie von Natur aus Zeiger sind. Sie zerfallen einfach in Zeiger, wenn sie als Funktionsargumente übergeben werden.
Um die Größe des Arrays anhand eines Zeigers zu bestimmen, müssen zusätzliche Größeninformationen bereitgestellt werden. Dies kann erreicht werden, indem die Größe explizit als Argument übergeben wird oder die Array-Syntax verwendet wird, die die Größeninformationen in die Deklaration einbezieht.
Das obige ist der detaillierte Inhalt vonWie kann ich die Größe eines Arrays bestimmen, das in C als Zeiger übergeben wird?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!