我正在尝试理解从这段代码中的强制类型转换。
我的理解是,结构体iphdr的成员变量存储在char数组out_packet_buffer中。但是,在代码的后面,out_packet_buffer没有被使用。相反,iphdr被memcpy到一个uint8_t类型的内存位置(ether_frame)。但是,iphdr不是uint8_t类型的。
我希望能给出任何指导,帮助我理解这里发生了什么。
谢谢。
char out_packet_buffer[4500] ;
struct ip6_hdr *iphdr ;
iphdr = (struct ip6_hdr *) &out_packet_buffer[0];
我的理解是,结构体iphdr的成员变量存储在char数组out_packet_buffer中。但是,在代码的后面,out_packet_buffer没有被使用。相反,iphdr被memcpy到一个uint8_t类型的内存位置(ether_frame)。但是,iphdr不是uint8_t类型的。
我希望能给出任何指导,帮助我理解这里发生了什么。
谢谢。