This is just one of the many irregularities of C's declaration syntax. The type modifier * is part of the type, yet syntactically it belongs to the identifier that's declared.
The same is true for & and [], BTW.
See here for what * does besides modifying a type.