我定义了一个结构
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/