inet_atonは、IPアドレス文字列をネットワークバイトオーダのバイナリ値に変換するライブラリ関数・・・。
IPアドレス1.2.3.4を変換する・・・。
in_addr構造体変数addrを用意・・・。
inet_atonで"1.2.3.4"をネットワークバイトオーダ(ビッグエンディアン)のバイナリ値に変換し、addrのs_addr要素に格納する・・・。
printfでaddr.s_addrを出力する・・・。
すると、
$ ./inet_aton addr.s_addr = 0x04030201 $
と出力される・・・。
"1.2.3.4"をビッグエンディアンなバイナリ値に変換するので、先頭から8ビットずつ, 0x01, 0x02, 0x03, 0x04、と入れていく・・・。
ただ、これを32ビット値として出力するときは、リトルエンディアンとして参照するので、"0x04030201"と出力される・・・。
(※.誤解しやすいが、あくまでバイト配列としては0x01, 0x02, 0x03, 0x04の順で入っている・・・。)