Arrays per Referenz in C übergeben
Frage:
Können Arrays per Referenz übergeben werden? in C ? Wenn ja, wie lautet die richtige Syntax?
Antwort:
Ja, Arrays können in C nur als Referenz übergeben werden. Die richtige Syntax lautet:
void foo(double (&bar)[10])
wobei bar die Array-Referenz und 10 die Größe des Arrays ist.
Diese Syntax verhindert jedoch die Übergabe von Arrays beliebiger Größe. Um ein Array beliebiger Größe zu übergeben, kann eine Vorlagenfunktion verwendet werden:
template<typename T, size_t N> void foo(T (&bar)[N])
wobei N die Arraygröße zur Kompilierungszeit erfasst.
Alternativen:
Erwägen Sie die Verwendung von std::vector oder std::array (in C 11) als Alternativen zur Übergabe von Arrays per Referenz. Diese bieten eine flexiblere und sicherere Möglichkeit, mit der Datenerfassung umzugehen.
Das obige ist der detaillierte Inhalt vonWie können Arrays in C als Referenz übergeben werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!