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.


Anmelden zum Antworten