#include <stdio.h>
#include <stdlib.h>
struct list_head
{
struct list_head *next, *prev;
};
struct num
{
int number;
struct list_head list;
};
int main()
{
struct num
*head
= malloc(sizeof(struct num
)); struct num *tmp = head;
tmp->number = 0;
tmp->list.prev = NULL;
tmp
->list.
next = malloc(sizeof(struct num
));
printf("number1 = %d, prev1 = %x, next1 = %x\n"\
, tmp->number, tmp->list.prev, tmp->list.next);
tmp = tmp->list.next; //?颱?銝??暺?
tmp->number = 1;
tmp->list.prev = head;
tmp->list.next = NULL;
printf("number2 = %d, prev2 = %x, next2 = %x\n"\
, tmp->number, tmp->list.prev, tmp->list.next);
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KCnN0cnVjdCBsaXN0X2hlYWQKewogICAgc3RydWN0IGxpc3RfaGVhZCAqbmV4dCwgKnByZXY7Cn07CgpzdHJ1Y3QgbnVtCnsKICAgIGludCBudW1iZXI7CiAgICBzdHJ1Y3QgbGlzdF9oZWFkIGxpc3Q7Cn07CgppbnQgbWFpbigpCnsKICAgIHN0cnVjdCBudW0gKmhlYWQgPSBtYWxsb2Moc2l6ZW9mKHN0cnVjdCBudW0pKTsKICAgIHN0cnVjdCBudW0gKnRtcCA9IGhlYWQ7CgogICAgdG1wLT5udW1iZXIgPSAwOwogICAgdG1wLT5saXN0LnByZXYgPSBOVUxMOwogICAgdG1wLT5saXN0Lm5leHQgPSBtYWxsb2Moc2l6ZW9mKHN0cnVjdCBudW0pKTsKCiAgICBwcmludGYoInRtcCA9ICV4XG4iLCB0bXApOwogICAgcHJpbnRmKCJudW1iZXIxID0gJWQsIHByZXYxID0gJXgsIG5leHQxID0gJXhcbiJcCiAgICAgICAgICAgICwgdG1wLT5udW1iZXIsIHRtcC0+bGlzdC5wcmV2LCB0bXAtPmxpc3QubmV4dCk7CiAgICAKICAgIHRtcCA9IHRtcC0+bGlzdC5uZXh0OyAgIC8vP+misT/pip3CgD/vlZ8/5pq6PyAgICAKICAgIHRtcC0+bnVtYmVyID0gMTsKICAgIHRtcC0+bGlzdC5wcmV2ID0gaGVhZDsKICAgIHRtcC0+bGlzdC5uZXh0ID0gTlVMTDsKCiAgICBwcmludGYoInRtcCA9ICV4XG4iLCB0bXApOwogICAgcHJpbnRmKCJudW1iZXIyID0gJWQsIHByZXYyID0gJXgsIG5leHQyID0gJXhcbiJcCiAgICAgICAgICAgICwgdG1wLT5udW1iZXIsIHRtcC0+bGlzdC5wcmV2LCB0bXAtPmxpc3QubmV4dCk7CgoKICAgIHJldHVybiAwOwp9Cgo=