有人可以阐明自我引用指针。自引用数据类型是包含指针或引用它们自己的类型的类型,但我想知道自引用指针。你能用一些代码解释这个术语吗?
了解更多相关信息的任何链接/资源也非常有用。
EDIT1:
你能解释一下:
唯一的自引用指针是
void *
还有这个代码让我更加困惑:
int *p = (int*) &p;
答案 0 :(得分:2)
除void*
之外,C中没有自引用指针这样的东西。因为,如果你要写
foo* p;
foo* pp = &p;
其中pp
是一个自引用指针, types 不兼容,因此编译将失败。编译将通过的唯一类型是foo
为void
的情况,因为您可以将void**
指针转换为void*
指针
实际上,您的意思是自引用类型,例如在实现链接列表时可以找到。