The following declaration in C:
int* a, b;
will declare a as type int* and b as type int
Consider the declaration:
int *a[10];
int (*b)[10];
The first is an array of ten pointers to integers, the second is a pointer to an array of ten integers.
Now, if the * was attached to the type declaration, it wouldn't be syntatically valid to put a parenthesis between them. So you'd have to find another way to differentiate between the two forms.