Hi Ich hab da mal ne Frage. Ich habe hier ein kleine Programm in Visual C geschrieben, dass in eine Funktion ein Array übergibt. Funktionieren tut das ganz auch aber soweit ich weiß, sollte es das eigentlich gar nicht. Kann mir das jemand erklären? double maxwert(int datenanzahl, double datensatz[1000]) { int i; double groesste; //Gößterwert groesste=datensatz[0]; for(i=1; i<datenanzahl; i++) { if(groesste<datensatz[i]) { groesste=datensatz[i]; } } return groesste; } int main(int argc, char* argv[]) { int datenanzahl; double datensatz[1000]; maxdrehz=maxwert(datenanzahl, datensatz);
XYZ schrieb: > Hi > Ich hab da mal ne Frage. Ich habe hier ein kleine Programm in Visual C > geschrieben, dass in eine Funktion ein Array übergibt. > Funktionieren tut das ganz auch aber soweit ich weiß, sollte es das > eigentlich gar nicht. Kann mir das jemand erklären? > > double maxwert(int datenanzahl, double datensatz[1000]) Das ist nur eine alternative Schreibweise für
1 | double maxwert(int datenanzahl, double * datensatz) |
Die Einen mögen sie. Hauptsächlich deshalb, weil sie Pointer für Teufelszeug halten, dass man nicht verstehen kann. Die Anderen hassen sie, weil sie etwas suggeriert, was in Wirklichkeit nicht stattfindet.
Danke für die Aufklärung! Hatte mich schon gewundert, warum das funktioniert.
XYZ schrieb: > Danke für die Aufklärung! > Hatte mich schon gewundert, warum das funktioniert. LOL Du hast das an anderer Stelle auch schon benutzt int main(int argc, char* argv[]) ^ | Ob da in den Klammern noch eine Zahl steht oder nicht, ist dem Compiler aber sowas von egal :-)
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.