It's just one of the many ways the C user interface is broken beyond reason.
I'd say this one is just a question of preference. I happen to like to be able to declare my variables together with my ponters.
A good UI makes good things the natural way to do things, and actively discourages bad things. C's UI is the opposite.
In my opinion, that's the beauty of C: unlike Java (and, to a little extent, C++) it doesn't dictate how you write your programs. You are free to shoot yourself in the foot, but you also get to decide exactly how you want your code to look and feel.
The small cost of not being able to declare your variables together with your pointers is nothing compared to the confusion it avoids.
int* var1;
is the way I (and I suspect anyone who's studied theoretical algebraic data types) think about my variables and types. It sucks that C forces me to mentally translate it to a much less satisfying form.
I'm not sure what being ridiculously easy to make errors in has to do with dictating how to write your programs.
I'd say this one is just a question of preference. I happen to like to be able to declare my variables together with my ponters.
A good UI makes good things the natural way to do things, and actively discourages bad things. C's UI is the opposite.
In my opinion, that's the beauty of C: unlike Java (and, to a little extent, C++) it doesn't dictate how you write your programs. You are free to shoot yourself in the foot, but you also get to decide exactly how you want your code to look and feel.