const unsigned char *p = (const unsigned char*)&res; crc8(crc...
发布网友
发布时间:2024-10-20 09:01
我来回答
共1个回答
热心网友
时间:2024-11-17 05:49
由于res定义为unsigned int,所以包含4个字节;而p是unsigned char的指针,指向的数据是1个字节。
所以常规来说,假如res由byte3 byte2 byte1 byte0构成,那么p[0]=byte0,p[1]=byte1,p[2]=byte2,p[3]=byte4,也就是p[0]是最低字节,p[3]是最高字节。
但是还要看系统硬件连接,是big endian还是 little endian,如果是 little endian那么就是常规情况,和上面一样。如果是big endian,那么数据存放是倒过来的,也就是p[0]是最高字节,p[3]是最低字节,全部情况是p[0]=byte3,p[1]=byte2,p[2]=byte1,p[3]=byte0。