Unterschied zwischen der Übergabe von Array und Array-Zeiger an die Funktion in C.

Was ist der Unterschied zwischen den beiden Funktionen in C? void f1(double a[]) { //... } void f2(double *a) { //... } Wenn ich die Funktionen in einem wesentlich langen Array aufrufen würde, würden sich diese beiden Funktionen unterschiedlich verhalten, würden sie mehr Platz auf dem Stapel...