我現在這樣做的權利,但這是一個初始化struct sockaddr_in.sin_zero [8]爲0的正確方法嗎?
struct sockaddr_in my_addr;
my_addr.sin_family = AF_INET;
my_addr.sin_port = htons(MYPORT);
inet_aton("10.12.110.57", &(my_addr.sin_addr));
memset(&(my_addr.sin_zero), '\0', 8);
我能做到這一點?這是否也將零結構的其餘部分?即sin_zero[8]
struct sockaddr_in my_addr = {AF_INET, htons(MYPORT), 0};
// Or
struct sockaddr_in my_addr = {AF_INET, htons(MYPORT), {0} };
兩者都有效。正如Matt McNabb在他的回答中所提到的那樣,在第二種情況下指定的初始化器將使代碼更具可讀性。 – 2014-10-08 11:43:08