C、Contiki rime,传输结构

标签 c struct contiki

我定义了一个结构

typedef struct {
 unsigned short a;
 unsigned short b;
} my_struct;

发送节点创建一个结构体 并使用它传输

my_struct my;
packetbuf_copyfrom((void *)&my, sizeof(data_struct));

接收节点通过以下方式访问数据

my_struct *my;
my = packetbuf_dataptr();

到目前为止一切顺利。当尝试访问结构体的成员 a 或 b 时

printf("%u", my.a);

我得到:

"error: request for member 'a' in something not a structure or union."

如果我传输一个简单的字符串并访问它,一切都很好。

最佳答案

要通过结构体指针访问结构体的成员,我们必须使用箭头运算符 ->(由连字符和大于号组成)。

要访问您的成员(member)a使用

printf("%u", my->a);
or
printf("%u", (*my).a);

关于C、Contiki rime,传输结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27905495/

相关文章:

无法在用于服务器注册的远程过程调用中对参数进行编码

c - 作业 : Freeing data in a struct

c - 请就我应该使用哪种数据结构提出建议

c - 了解宏行为和原线程

c - 任何想法如何将 udp ipv6 数据包发送到 cooja 模拟

c - times() 返回的结构 tms 值全为零或负数

c - C中如何使用scanf同时扫描double和char到double数组中

c - MPI_Gather 似乎不起作用

c++ - 将具有字符串成员的结构对象插入 std::vector 时出错

ubuntu - 无法从ubuntu机器刷入cc2650