When I first started programming in C, I did the same thing with pointers (i.e.,
char* str;
instead of
char *str;
).
Unfortunately, this creates the wrong impression that
char* str1, str2;
creates two pointer-to-char variables, whereas actually str1 is a char pointer and str2 is simply a char. Indeed, I was confused on this point myself when I was a newbie, which led to great confusion later on.
The clearest way I've ever found to think about C declarations (ironically, I think I read this in some article maligning C's syntax in favor of Go's), is that each declaration is of the format
[type] [expressions--one for each new variable--that equate to type];
Thus, the way I think of declaring a char pointer is
char [de-referencing the variable (which is a char pointer) to arrive at the char];
char *str;
(Obviously, not everyone is going to agree that that is simple, but it works for me and my brain.)
Anyway, the point is that while typography is great, it can be just as harmful as helpful if you communicate the wrong impression to the reader. And to be fair, it really looks like the author is not at home in C: besides his misconception about pointer declaration, he didn't bat an eye at the old-style argument-declaration syntax that has been obsolete since ANSI C.
Also, I hope I never write a for loop that looks so massively bloated--a matter of opinion I guess.