Yes, it is unintuitive. However, there's a reason people do it the unintuitive way, and that's due to the C spec.
float* foo, bar;
This code declares bar as a float, not a pointer! To make things less misleading, most C programmers have adopted the convention of putting the star next to the variable name instead of the type: