在查看XOR链接列表的实现时,我多次看到了这段代码,但似乎没有一个代码正确地解释了这一行(或者我遗漏了一些东西)-
struct node* XOR (struct node *a, struct node *b)
{
return (struct node*) ((unsigned int) (a) ^ (unsigned int) (b));
}它是如何工作的?有谁也能解释一下所涉及的模组吗?(请指出之前的答案/评论)谢谢!
发布于 2014-07-23 19:11:44
除了对'a‘和'b’指针指出的地址通常执行的异或
(unsigned int) (a) ^ (unsigned int) (b)正是将int隐式转换为指针 (struct *这里)才能使此代码工作。
(struct node *)(unsigned int someInteger); 编辑:感谢@aruisdante解释第二部分!
https://stackoverflow.com/questions/24918632
复制相似问题