Es scheint ein ein Array durch Bezugnahme auf das erste Element hindurchgehen kann:Eine pathologische Art und Weise eine Anordnung von übergeben wird: durch Bezugnahme auf das erste Elemente
void passMe(int& firstElement)
{
int* p=&firstElement;
cout << p[0] << p[1];
}
Hauptprogramm:
int hat[]={ 5,2,8 };
passMe(hat[0]);
Normalerweise anstelle der obigen Funktionsdefinition würde ich void passMe(int* myArray)
oder void passMe(int[] myArray)
tun. Aber würde die obige Methode irgendwelche Probleme verursachen? Wenn ich die Antwort kenne, kann ich die Dinge, die hier spielen, besser verstehen.
Bitte beachten Sie, dass C und C++ verschiedene Sprachen sind. Dies ist eindeutig eine C++ - Frage, verwenden Sie bitte nur das entsprechende Tag. – kaylum
Das eine Problem ist, dass Sie nicht wissen, wie viele Elemente das Array innerhalb der 'passMe'-Funktion bilden. – PaulMcKenzie
@ kaylum Danke für die Erinnerung. Ja, "cout" ist nur in C++ zulässig, aber ich habe C markiert, weil der Hauptpunkt der Frage meiner Meinung nach für beide gleichermaßen gilt. – FreshAir