<分区>
有人可以阐明自引用指针。自引用数据类型是包含指针或对其自身类型的引用的类型,但我想了解自引用指针。你能用一些代码解释这个术语吗?
了解更多相关信息的任何链接/资源也将非常有帮助。
编辑1:
你能解释一下吗:
The only self-referential pointer would be a
void *
还有这段代码让我更加困惑:
int *p = (int*) &p;
<分区>
有人可以阐明自引用指针。自引用数据类型是包含指针或对其自身类型的引用的类型,但我想了解自引用指针。你能用一些代码解释这个术语吗?
了解更多相关信息的任何链接/资源也将非常有帮助。
编辑1:
你能解释一下吗:
The only self-referential pointer would be a
void *
还有这段代码让我更加困惑:
int *p = (int*) &p;
最佳答案
除了 void*
,C 中没有自引用指针这样的东西。那是因为,如果你要写
foo* p;
foo* pp = &p;
其中pp
是一个自引用指针,类型不兼容,所以编译会失败。唯一可以通过编译的类型是 foo
为 void
的情况,这是因为您可以将 void**
指针转换为一个 void*
指针。
实际上,您的意思是自引用类型,例如在实现链表时可以找到。
关于c - c中的自引用指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50274142/