代入も初期化も同じだからな
ZeroMemoryはhintsを全部zeroで埋めてる。で、その後にhints.ai_familyなどを代入してる
後からメンバ変数全部に値を代入するならゼロで埋める意味ないじゃん
ってことならその通り。初期化なんてしなくてもいいし意味ない

ただstruct addrinfoにはその他のメンバもある。例えば*ai_addrやai_addrlenなど
ai_addrlenがゼロじゃないと*ai_addrに何か入ってるって意味になっておかしいことになる
つまりメンバ変数全部には代入してないから意味が出てくる
zeromemoryしとくとそこらへんの省いたのにもゼロが代入されるし、パディング領域があるならそこにもゼロが代入される