int inet_aton(const char *cp, struct in_addr *inp)
[…]
The address supplied in cp can have one of the following forms:
[…]
a The value a is interpreted as a 32-bit value that is stored
directly into the binary address without any byte rearrangement.
> "Funny I wasn't aware of this despite 25 years of being an Internet user"
You're not alone… I been using the Internet longer'n that and I didn't ever think of converting an IP address to a decimal number either. It makes perfect sense now that it's been pointed out, but for some reason it just never crossed my mind to even try it.
IPv4 addresses are written in base 10 for human users.
The "special" case is supporting network addresses to be written as 10.2932832 ("convenient" for class A's), 172.16.61031 (ditto for B's), or just one big address like 39282329, when we're used to 4 octets separated by dots.
Not every bit of host software supports these cases anymore, as basically their sole remaining use case is as a curiosity or to circumvent bad security controls.