c - 如何访问结构体中结构体的成员 - C

标签 c

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/

相关文章:

c - 在多个线程中独立运行 Boehm GC

从 C 程序更改堆栈内存

c - 从应用程序 makefile 运行库 makefile

c - 如何在 C 中将十六进制连接到字符串

c - 实现数据独立的链表

c - 如果只允许一种操作,即按 K 位右旋转,其中 K = [0, 字符串长度],则二进制字符串将产生的最大二进制数

c - MASM64,Visual studio 2015 C 程序,具有单独文件中的汇编功能

c - 使用arduino wifishield从网络读取数据

c - 当输入是 int 和 string 的混合时,scanf 读取两次

无法让 'child' 和 'parent' 正常通信