首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > UNIXLINUX >

对于结构体ip的迷惑

2013-12-10 
对于结构体ip的疑惑在头文件netinet/ip.h中定义的结构体ip是这样的struct ip {#if __BYTE_ORDER __LI

对于结构体ip的疑惑
在头文件<netinet/ip.h>中定义的结构体ip是这样的


struct ip
 {
#if __BYTE_ORDER == __LITTLE_ENDIAN
 unsigned int ip_hl:4; /* header length */
 unsigned int ip_v:4; /* version */
#endif
#if __BYTE_ORDER == __BIG_ENDIAN
 unsigned int ip_v:4; /* version */
 unsigned int ip_hl:4; /* header length */
#endif

......省略其他字段
 }

我的疑惑是为什么不同的字节序会让ip_v字段和ip_hl字段的位置互换?
[解决办法]
大端字节序,小端字节序,我猜是用指针 加减的时候 统一方便吧
[解决办法]
这个ip_v和ip_hl共用的同一个int类型的空间啊,当然要分大端和小端了,不然ip_v和ip_hl哪个是高四位 哪个是低四位 不就乱套了嘛

热点排行