Since this is about C declarations: for anyone who (like me) had the misfortune of learning the so-called "spiral rule" in college rather than being taught how declarations in C work, below are some links that explain the "declaration follows use" idea that (AFAIK) is the true philosophy behind C declaration syntax (and significantly easier to remember/read/write).TL;DR: you declare a variable in C _in exactly the same way you would use it:_ if you know how to use a variable, then you know how to read and write a declaration for it.
https://eigenstate.org/notes/c-decl
https://news.ycombinator.com/item?id=12775966
userbinator|2 months ago
In other words, the precedence of operators in a declaration have exactly the same precedence as in its use.
nitrix|2 months ago
It's the intended way to read/write declarations/expressions. As a consequence, asterisks ends up placed near the identifiers. The confused ones will think it's a stylistic choice and won't understand any of this.
pwdisswordfishy|2 months ago
https://www.stroustrup.com/bs_faq2.html#whitespace
saagarjha|2 months ago
any1|2 months ago
You know you don't always have to use things as they were intended?
> The confused ones will think it's a stylistic choice and won't understand any of this.
Well, I've written it both ways, and the compiler never seems to mind. :)
Maybe I should start putting space on both sides of the asterisk; seems like it would be a good way to annoy even more people.