Perbedaan antara melewatkan array dan pointer array ke dalam fungsi di C

Apa perbedaan antara kedua fungsi di C? void f1(double a[]) { //... } void f2(double *a) { //... } Jika saya memanggil fungsi pada array yang sangat panjang, akankah kedua fungsi ini berperilaku berbeda, apakah mereka akan mengambil lebih banyak ruang di