新手提问,送分了。。 char* pPackage=new char[packsize];*(WORD*)&pPackage[2] = 0;这里的&是什么意思??看不懂!说具体点哦! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这两个语句是将头两个字符chars转成WORD类型并赋值.在intel中字节序是little endian,因此, 取第二个字节作为WORD指针地址. 真拗呀:)pPackage[2]是第三个字节,可以理解为强制转换的第二个WORD*的地址不如这样写:pPackage[2] = '\0';pPackage[3] = '\0';或者memset(pPackage,'\0',4); char* pPackage=new char[packsize]; *(WORD*)&pPackage[2] = 0; 分开来看嘛pPackage是一个指向 字符数据的 指针;pPackage[2] 就是一个字符数据;& pPackage[2] 就把 pPackage[2]的指针提出来了;(WORD*) &pPackeage[2],把提出来的指针转化成WORD类型的;* (WORD*) &pPackeage[2] 转换成WORD类型之后再用*号指向地址,现在这串其实就代表转换成WORD后的pPackage[2]的位置;最后,把0赋值给他; 关于多线程中操作listctrl控件的方法 MFC做游戏需要做双缓冲吗?需要的话怎样做?? 哪位高人做过snort的界面啊?急啊 请问该界面用什么控件或方法解决 用fopen,fwrite写文件,怎么把几个数字写进文件呢,我写进去的怎么都是乱码的? 请问为什么我在OnAccept()函数老是出现断言错误呢?!请看代码!!! datetimepicker控件问题。 在UINX下如何加入库文件 windows .net是何物???是OS吗?急,在线等待。 求助,关于memcpy问题:很急!!!! dll输出表 VS2008属性页里添加消息函数,为什么经常出现一片空白?
在intel中字节序是little endian,因此, 取第二个字节作为WORD指针地址.
pPackage[2]是第三个字节,可以理解为强制转换的第二个WORD*的地址
不如这样写:
pPackage[2] = '\0';
pPackage[3] = '\0';
或者memset(pPackage,'\0',4);
*(WORD*)&pPackage[2] = 0; 分开来看嘛
pPackage是一个指向 字符数据的 指针;pPackage[2] 就是一个字符数据;& pPackage[2] 就把 pPackage[2]的指针提出来了;(WORD*) &pPackeage[2],把提出来的指针转化成WORD类型的;
* (WORD*) &pPackeage[2] 转换成WORD类型之后再用*号指向地址,现在这串其实就代表转换成WORD后的pPackage[2]的位置;最后,把0赋值给他;