最近在看代码时注意到:
char tmp_buf[10] = {0};
memcpy(tmp_buf, recv_data->data, MW_MAXDATASIZE);
if(tmp_buf[1] != 1) //对于这个的比较,tmp_buf是字符型的数组,但是1又是整型数据,这个比较是什么样的,我就比较混乱了
后来查资料,看到字符型数组中数据的存储是这样的:
'0' == 0x30 == 48
'a' == 0x60 == 96
'A' == 0x40 == 64
'a' == 0x60 == 96
'A' == 0x40 == 64
'1' == 0x31 == 49
1 = 0x1 ==1
1 = 0x1 ==1
所以就知道整型数据存储的时候,这个还是按照原值存储的,除非你把它当做字符的时候才会按照字符对应的值来存储;