[理工] 计组_97台科电子

楼主: fmtshk (fmtshk)   2019-11-19 15:05:26
https://i.imgur.com/g2tVcv1.jpg
想问一下"cp=(char*)&data;"这段码
旁边写"重新定义data type,"
所以cp在这指令之后data type被定义成什么?
作者: mi981027 (呱呱竹)   2019-11-19 16:00:00
不是重新定义cp,是把data转型data本来的型别是long,&data的型别是(long *)这行想把data的第一个byte赋值给cp,但cp是char *所以写(char *)&data 把data的第一个byte所在的位置赋给cp做完这步后,cp指向data的第一个byte 就是12那cp+2就是指向data的第3个byte,就是56不过这种题目要小心 如果是little endian 那顺序会反过来
楼主: fmtshk (fmtshk)   2019-11-19 16:03:00
了解,谢谢

Links booklink

Contact Us: admin [ a t ] ucptt.com