Deklaration einer Funktion
-
Hallo,
man hat eine solche Funktion:
void fkt(char para[6]) { blabla; }
Die Frage ist, ob die Deklaration wie folgt aussieht:
void fkt(char[]);
oder lieber mit Zeiger?
MfG
Hauser
-
Egal. Die 6 in der Definition kannst du getrost weglassen, weil sie ignoriert wird, und Arrays kann man sowieso nicht übergeben, weil sie zu Zeigern werden.
-
Das ist laut ANSI C egal. Alle Arrays der 1.Ebene bei Funktionsparametern werden intern sowieso immer zum Pointer gemappt, d.h. z.B.
int main(int argc,char *argv[])
ist identisch zu
int main(int argc,char **argv)
.
Ich empfehle den Pointer zu nehmen, da das Array bei (offenkundiger weitverbreiteter Unkenntnis der Sachlage) was Falsches suggeriert.