看板 C_and_CPP 關於我們 聯絡資訊
開發平台為Linux, 我想請問一下有關connect()內的參數意義, connect(sockfd, (struct sockaddr *)&serv_addr,len); 我知道這個function的目的為將sockfd的socket連至參數serv_addr指定的網路位址。 但我想問的是, 為何不是寫成&serv_addr就好呢? 不好意思,這邊的觀念很弱, 希望大家可以幫我解惑,謝謝~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 60.250.129.63 ※ 編輯: rmp4aup6 來自: 60.250.129.63 (05/19 14:45) ※ 編輯: rmp4aup6 來自: 60.250.129.63 (05/19 14:46)
suhorng:常見把serv_addr宣告成sockaddr_in 05/19 20:35
suhorng:這只是轉型成connect的prototype要求的型別 05/19 20:36
hilorrk:你可以想成 sockaddr 是 sockaddr_in 的 parent 05/26 02:07
hilorrk:這是一種類似 polymorphism 的手法 05/26 02:08
hilorrk:sockaddr 是共通界面 05/26 02:08