2019-07-21 00:20发布
hgr211 发表于 2017-11-15 09:55 没看明白,数组本来就是变量啊,赋值很简单的处理。如果是类型转换,可以内存copy或移位实现
最多设置5个标签!
[mw_shl_code=c,true]//串口接收到的数据放到acIncome[1024]数组里,其中第32到35byte放了一个int,现在将int数值取出放到nVal中
memcpy(&nVal, (int*)&acIncome[32], sizeof(int));//方法1
nVal = (acIncome[32] << 24) + (acIncome[33] << 16) + (acIncome[34] << 8) + acIncome[35];//方法2
//如果看不懂,就去看C语言的基础书吧。
[/mw_shl_code]
他应该说得是 const的数组 如何串口接收到的数据更新到里面。
#include <stdio.h>
int chuli(unsigned char*);
int res =0;
int main ()
{
unsigned char word[]={'1','2','3',' ',' ',' ',' '};
chuli(word);
printf("a=%d ",res);
return 0;
}
int chuli(unsigned char* arr)
{
// int res =0;
while (*arr != ' ')
{
res=res*10+ *arr - '0';
arr++;
//
}
return res;
}
得到的结果是 a=123
一周热门 更多>