In C, le due sintassi
codice:
int* vector;
int vector[];
definiscono entrambe vector come int*. Le due cose sono in un certo senso comode dal punto di vista di un programmatore: a certe funzioni voglio passare un valore per riferimento, ad altre un array.
Differenziando le due sintassi, è leggitimo aspettarsi che

codice:
void f(int* foo);    //si aspetti un intero per riferimento
void g(int bar[]);  //si aspetti un vettore di interi
Dal punto di vista del codice però le due scritture sono assolutamente identiche (anche come prestazioni). Vedere le graffe non serve al compilatore, serve a te per capire che quello è un array e non un semplice puntatore (e viceversa).

@assente1: usare il caps su un forum equivale ad urlare.