我定义了一个结构体 typedef struct { u8 hardware_type[2]; u8 protocol_type[2]; u8 hwaddr_len; u8 ipaddr_len; u8 message_type[2]; u8 source_hwaddr[6]; u8 source_ipaddr[4]; //u16 source_ipaddr1; u8 dest_hwaddr[6]; u8 dest_ipaddr[4]; } ARP_HEADER; ARP_HEADER * arp_h; 和变量 RX_BUFF[300], 现在令 arp_h = (ARP_HEADER *)(RX_BUFF ); 那么现在arp_h->source_ipaddr应该=RX_BUFF[14]开始的四字节内容,可是却=RX_BUFF[16]开始的四字节内容,怎么回事?? |