#include<iostream>
using namespace std;
struct Node
{
int data;
Node *Next;
};
bool compareAddresses(void* ptr1, void* ptr2){
return ptr1 == ptr2;
}
int main()
{
Node *Node1=new Node;
Node *Node2=new Node;
Node1->data=11;
Node1->Next=Node2;
Node2->data=22;
Node2->Next=NULL;
if (compareAddresses(Node1->Next, &Node2->data)) //1
cout<<"Node1->Next==&Node2->data"<<endl; //2
cout<<"Node1->Next="<<Node1->Next<<" &Node2->data="<<&Node2->data<<endl;//3
if (compareAddresses(Node2, &Node2->data)) //4
cout<<"Node2==&Node2->data"<<endl; //5
cout<<"Node2="<<Node2<<" &Node2->data="<<&Node2->data<<endl; //6
if(compareAddresses(Node1->Next, Node2)) //7
cout<<"Node1->Next==Node2"<<endl; //8
cout<<"Node1->Next="<<Node1->Next<<" Node2="<<Node2<<endl; //9
}
I2luY2x1ZGU8aW9zdHJlYW0+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgpzdHJ1Y3QgTm9kZSAgCnsKICAgIGludCBkYXRhOwogICAgTm9kZSAqTmV4dDsKfTsKCmJvb2wgY29tcGFyZUFkZHJlc3Nlcyh2b2lkKiBwdHIxLCB2b2lkKiBwdHIyKXsKICAgIHJldHVybiBwdHIxID09IHB0cjI7Cn0KCmludCBtYWluKCkKewogICAgTm9kZSAqTm9kZTE9bmV3IE5vZGU7CiAgICBOb2RlICpOb2RlMj1uZXcgTm9kZTsKCiAgICBOb2RlMS0+ZGF0YT0xMTsKICAgIE5vZGUxLT5OZXh0PU5vZGUyOwoKICAgIE5vZGUyLT5kYXRhPTIyOwogICAgTm9kZTItPk5leHQ9TlVMTDsKCiAgICBpZiAoY29tcGFyZUFkZHJlc3NlcyhOb2RlMS0+TmV4dCwgJk5vZGUyLT5kYXRhKSkgLy8xCiAgICAgICAgY291dDw8Ik5vZGUxLT5OZXh0PT0mTm9kZTItPmRhdGEiPDxlbmRsOyAvLzIKICAgIAogICAgY291dDw8Ik5vZGUxLT5OZXh0PSI8PE5vZGUxLT5OZXh0PDwiICAmTm9kZTItPmRhdGE9Ijw8Jk5vZGUyLT5kYXRhPDxlbmRsOy8vMyAKCiAgICBpZiAoY29tcGFyZUFkZHJlc3NlcyhOb2RlMiwgJk5vZGUyLT5kYXRhKSkgLy80CiAgICAgICAgY291dDw8Ik5vZGUyPT0mTm9kZTItPmRhdGEiPDxlbmRsOyAvLzUKICAgIAogICAgY291dDw8Ik5vZGUyPSI8PE5vZGUyPDwiICAgJk5vZGUyLT5kYXRhPSI8PCZOb2RlMi0+ZGF0YTw8ZW5kbDsgLy82CgogICAgaWYoY29tcGFyZUFkZHJlc3NlcyhOb2RlMS0+TmV4dCwgTm9kZTIpKSAgLy83CiAgICAgICAgY291dDw8Ik5vZGUxLT5OZXh0PT1Ob2RlMiI8PGVuZGw7ICAvLzggCgogICAgY291dDw8Ik5vZGUxLT5OZXh0PSI8PE5vZGUxLT5OZXh0PDwiICAgTm9kZTI9Ijw8Tm9kZTI8PGVuZGw7IC8vOQp9