C2000芯片的C编译器支持sizeof,这个函数返回的是目标类型所含Word数,1个Word等于2byte,一般C语言环境中sizeof返回的是byte数,现在的问题在于如果将Uint16和Uint32类型的数据定义在一起,组成一个结构体,用sizeof获取结构体的长度,在Uint16数据成员的个数为双数时用sizeof能够准确的获取结构体类型占用空间,如果Uint16成员为单数时,sizeof获取的结构体占用空间与预想的不同,比如1个Uint16和1个Uint32总共占用3字,而实际上sizeof返回值为4,这是怎么回事?应该如何处理?
↧