Diferencia entre pasar matriz y puntero de matriz a la función en C

¿Cuál es la diferencia entre las dos funciones en C? void f1(double a[]) { //... } void f2(double *a) { //... } Si tuviera que llamar a las funciones en una matriz sustancialmente larga, ¿estas dos funciones se comportarían de manera diferente, ocuparían más espacio en la...