Dunno how this is supposed to be worded, but it's because the "pointerhood" is tied to the variable being declared, not the type itself. This becomes obvious when you declare multiple variables at once.
char* cat, dog; /* one char pointer, one char */
char *cat, *dog; /* two char pointers */
The trade-off is one vs. two operator sub-syntaxes or in other words "sub-syntax economy". As it is, C has just one operator expression syntax (and one set of operator precedences/associativities). The "forward applicative" expression syntax is "reused" in the "backward" or "inverse" type declarations.
kevin_thibedeau|1 year ago
teo_zero|1 year ago
cb321|1 year ago