c/c++结构体struct的使用,只有一个成员为什么要定义成结构体比如下面这个,struct in_addr{unsigned long s_addr;}struct sockaddr_in{short int sin_family; //表示所属地址簇,TCP/IP必须是AF_INETunsigned short int sin_port;

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/06 07:01:21
c/c++结构体struct的使用,只有一个成员为什么要定义成结构体比如下面这个,struct in_addr{unsigned long s_addr;}struct sockaddr_in{short int sin_family; //表示所属地址簇,TCP/IP必须是AF_INETunsigned short int sin_port;
xQoPǿ k,,F^ /,g!t3QhYc,ƨ[B!1@_[x@yܛ/ͽ;d@%s|>ɑv6̪ʁr%g~8#}4,ZY蝠a|Urwh,αp$MwE))Ƣ털Xзw#kŴH4%"o|ڪy1¥ ΠهVG!>#oǸ? >p/7K2qrBi]H&ΰI JU,@(Z]4)JVGވfl~a+xW_A^s*!_Ѳ,|.T/lR֢! leԸٱsou|2&uwrK?`puʦ׵`ʊCBg9BW5,g#T^2{5*P5d:[bMqڹ 4Uw͸ rsJ-"nƩ'#\+3ckzSѧy~^JFo*VW

c/c++结构体struct的使用,只有一个成员为什么要定义成结构体比如下面这个,struct in_addr{unsigned long s_addr;}struct sockaddr_in{short int sin_family; //表示所属地址簇,TCP/IP必须是AF_INETunsigned short int sin_port;
c/c++结构体struct的使用,只有一个成员为什么要定义成结构体
比如下面这个,
struct in_addr
{
unsigned long s_addr;
}
struct sockaddr_in
{
short int sin_family; //表示所属地址簇,TCP/IP必须是AF_INET
unsigned short int sin_port; //表示端口号
struct in_addr sin_addr; //表示32位的IP地址,用in_addr结构表示
unsigned char sin_zero[8]; //表示全部填充0,保证和sockaddr大小相同
}
struct in_addr sin_addr那里直接用unsigned long s_addr不行吗,为什么要用结构体来表示?

c/c++结构体struct的使用,只有一个成员为什么要定义成结构体比如下面这个,struct in_addr{unsigned long s_addr;}struct sockaddr_in{short int sin_family; //表示所属地址簇,TCP/IP必须是AF_INETunsigned short int sin_port;
方便以后扩展.这个只是IPv4的协议族,IPV6好像就不支持了吧.就算IPV6还能用,以后还有IPV8,IPV10.每一个都在sockeaddr里面加一个不觉得很晕吗?所以定义一个结构体,不觉得逻辑更清晰吗?