【发布时间】:2014-10-08 11:27:17
【问题描述】:
我现在正在这样做,但是
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 在他的回答中提到的那样,在第二种情况下指定的初始化程序将使代码更具可读性。