[理工] 計組_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