struct sniff_ip {
struct in_addr ip_src, ip_dst;
}
function{
const struct sniff_ip *ip;
ip = (struct sniff_ip*)(packet +SIZE_ETHERNET);
}
我的目标是更改 ip_src 和 ip_dst 的值,但当 src 或 dst 位于结构中的结构中时,我无法找出修改 src 或 dst 的正确语法。我知道访问结构中的成员通常是 ip->member 或 (*ip).member ,但这似乎对我不起作用。如果成员位于结构中的结构中,则访问成员的正确过程是什么?
编辑:我想更改 src 和 dst 的 IP 地址(值)。当使用诸如
之类的行时"ip->ip_src="
或者
"ip->ip_src.s_addr=",我收到错误
“分配只读位置'*ip'
最佳答案
您只需将运算符组合在正确的位置即可:
ip->ip_src.s_addr
关于c - 如何访问结构体中结构体的成员 - C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9317024/