¿Por qué usar un asterisco “[*]” en lugar de un entero para un parámetro de matriz VLA de una función?

Cuando usasArray de longitud variable como parámetro en función

int sum(int n, int a[n]);

Es fácil entender el primer parámetro (n) especifica la longitud del segundo parámetro (a). Pero encontrado con otro prototipo utilizado paraVLAs como parámetro

int sum(int n, int a[*]);

Es realmente difícil entender por qué* se utiliza en lugar den dentro[]?

Respuestas a la pregunta(2)

Su respuesta a la pregunta