unsigned char RequestBuffer[1024];
short temp = 1;
len=0;
RequestBuffer[len] = *((char*)& temp);
RequestBuffer[len + 1] = *((char*)& temp + 1);
关于c++的指针与类型转换,求大神解释
答案:1 悬赏:0 手机版
解决时间 2021-02-04 08:26
- 提问者网友:欲望失宠
- 2021-02-03 10:21
最佳答案
- 五星知识达人网友:轮獄道
- 2021-02-03 10:53
unsigned char RequestBuffer[1024]; //定义一个无符号字符串 ,大小为1024
short temp = 1; //定义一个短整型,temp
len=0; //len没有声明,需要定义一下,int len=0;
RequestBuffer[len] = *((char*)& temp); //RequestBuffer数组的第len个字符等于
&temp,表示取temp的地址),&temp是short类型的地址,(char *)将其强制转换成char类型的地址。 *(),表示对地址取值。 这句话就相当于把short换成char型的。
RequestBuffer[len + 1] = *((char*)& temp + 1); //这个就是数组往后移一位,然后对其赋值,*((char*)& temp + 1);对象是&temp变成char *地址,然后往后移一位。
short temp = 1; //定义一个短整型,temp
len=0; //len没有声明,需要定义一下,int len=0;
RequestBuffer[len] = *((char*)& temp); //RequestBuffer数组的第len个字符等于
&temp,表示取temp的地址),&temp是short类型的地址,(char *)将其强制转换成char类型的地址。 *(),表示对地址取值。 这句话就相当于把short换成char型的。
RequestBuffer[len + 1] = *((char*)& temp + 1); //这个就是数组往后移一位,然后对其赋值,*((char*)& temp + 1);对象是&temp变成char *地址,然后往后移一位。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯