040
08.09.2003, 11:08 Uhr
0xdeadbeef
Gott (Operator)
|
Wie gesagt, ich kann deinen Fehler nicht nachvollziehen.
Was das Mitgeben der Länge angeht - in den meisten Fällen handelt es sich dann um Buffer, in die die Funktion schreiben soll. Das macht man, um Segfaults zu vermeiden, siehe z.B. fgets. In selteneren Fällen kann es aus Performancegründen sinnvoll sein, die Länge mitzugeben, z.B.
C++: |
char letztes_zeichen(char *s, int len) { return s[len - 1]; }
|
...oder halt bei Arrays, die nicht null-terminiert sind:
C++: |
int find_max(int arr[], int len) { int r = arr[0], i; for(i = 1; i < len; ++i) { if(arr[i] > r) r = arr[i]; } return r; }
|
-- Einfachheit ist Voraussetzung für Zuverlässigkeit. -- Edsger Wybe Dijkstra |