我的问题是:如果指针变量的地址与其值相同,那么它真的指向自身吗?
例如 - 在下面的代码中,是a
指向自身的指针?
#include<stdio.h>
int main(){
int* a;
int b = (int)&a;
a = b;
printf("address of a = %d\n", &a);
printf(" value of a = %d\n", a);
}
If a
不是指向自身的指针,那么同样的问题再次提出:指针可以指向自身吗?
另外,自指向指针有什么用?
void* p = &p;
它不是很有用,但是指向自身的结构体在长度为 1 的循环列表中很有用:
typedef struct A {
struct A* next;
} A;
A a = { &a };
根据你的具体例子,我相信你的意思是:
int* a;
int b = (int)&a;
a = (int*)b;
// which can be simplified to:
int* a = (int*)&a;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)