typedef struct sdata
{
char c;
int16_t i;
float f;
}sdata;
如果按照Arduino的数据类型大小来算,为1+2+4=7,通过sizeof(sdata)验证后也为7;而如果这个结构体定义在操作系统下,用sizeof(sdata)算出来的结果为8,这涉及到计算机地址对齐的问题,具体请参考文章:http://blog.sina.com.cn/s/blog_5f77c7270100dnoy.html。