0

私のリンクリスト:

struct Node{
    bool inUse;
    unsigned int size;
    Node *next;
};

合計バイト数 = パディングありで 12。

tmp->inUse = true;
tmp->size = size;
tmp->next = (Node*)((char*)(tmp + 2));

問題は私の中にありtmp->nextます。tmp->next の 2 番目のバイトを指すようにしようとしていますtmp。しかし、それは24 bytestmp + 2 = 24 バイトを移動します。

char* をキャストしているので、から始まる 2 バイトを移動すると予想されtmpます。どこが間違っていますか?

ありがとう。

4

1 に答える 1