よろしくお願いいたします。
C言語にて下記のように、第一引数の配列データを使って、第二引数のsizeまでのチェックサムを作成する関数を解析しています。
コメント箇所の加算値が第一引数の中身をそのまま見てるわけではないようで、
解析の為、printf関数を使って中身をみても、配列の中身とは全然関係ない値になっていたりします。
(unsigned short *)&data[ulcnt] はポインタであるのはわかっているのですが、
そのポインタが指す内容が一体どこなのかが分らずにいます。
C
1unsigned short calcsum(unsigned char * data, unsigned long ullen) 2{ 3 unsigned long ulcnt; 4 unsigned short checksum; 5 checksum = 0; 6 7 // 変化値2(byte) 8 for (ulcnt = 0; ulcnt < ullen; ulcnt += sizeof(unsigned short) ) 9 { 10 checksum += *(unsigned short *)&data[ulcnt]; //加算値 11 } 12 13 return checksum ; 14}
質問:
以上の加算値( *(unsigned short *)&data[ulcnt] )が指す内容を
教えていただけると幸いです。
よろしくお願いいたします
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。