嗨,我有以下联合,它是更大结构的一部分,我想在这个联合中存储一个 uint64_t(64 位大小)数据。但是我想通过访问 id_data 字段来存储它,因为其他字段不足以容纳完整的 uint64_t。但我不知道如何将我的 uint64_t 数据分配到这个 id_data 字段中。
我知道如何从这个字段中读取 uint64_t 数据。但不知如何为它赋值。
任何帮助将不胜感激。
谢谢。
union {
struct id_ts { /* ICMP Timestamp */
uint32_t otime; /* Originate */
uint32_t rtime; /* Receive */
uint32_t ttime; /* Transmit */
} id_ts;
struct id_ip {
struct xyz_abc idi_ip;
/* options and then 64 bits of data */
} id_ip;
struct ra_addr id_radv;
uint32_t id_mask;
char id_data[1];
} icmp_nnn;