|
| 请问:这条语句 *(INT16U *)&buff[4]; 是什么意思? |
| 新闻出处:21ic
发布时间: 2007-08-17 |
glen_cao 发布于 2007-8-15 15:32:00 请问:这条语句 *(INT16U *)&buff[4]; 是什么意思?
infree 发布于 2007-8-15 15:44:00 这条语句的意思是取一个整数=buff[4]*256+buff[5];(&buff[4]是取buff[4]的地址,(INT16U *)是将这个地址强制转换成指向INT16U类型数据的指针,最前面的*则是取出这个指针指向的内容)。 如果buff数组为整型,取的就是buff[4].
xxo21 发布于 2007-8-15 20:43:00 楼上解释大部分正确 但iar使用小端模式的数据类型,所以整数=buff[5]*256+buff[4]; 其它编译器就不知道了
glen_cao 发布于 2007-8-17 8:09:00 我用的是ICC编译器, 发现结果是buff[5]*256+buff[4]; 谢谢!
|
| 【关闭】 【打印】 |
|
|
|
|