回答編集履歴

1

追記

2018/09/13 23:48

投稿

otn
otn

スコア84572

test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
 
4
4
 
5
- Cに参照渡しは無いので、アドレスを渡しています。前の括弧はキャストです。
5
+ Cに参照渡しは無いので、アドレスを渡しています。予測としては合ってます。前の括弧はキャストです。
6
6
 
7
7
 
8
8
 
@@ -22,4 +22,4 @@
22
22
 
23
23
 
24
24
 
25
- まあ、複数の型を重ね合わせるわけなので、本来は`union`で処理すべきだったのかも知れませんが、そうはなっていません。
25
+ まあ、複数の型を重ね合わせるわけなので、本来は`union`で処理すべきだったのかも知れませんが、そうはなっていません。歴史的には、昔のCには関数のプロトタイプ宣言がなかったので、こういう引数の型合わせのキャストは不要でした。プロトタイプ宣言が登場した時点で、`struct sockaddr`を`union`化していれば後の人にはわかりやすかったかも知れませんが、それまでのプログラムが修正が必要になるので、考えなかったんだと思います。