gpt4 book ai didi

c - 如果指针变量的地址与其值相同,那么它真的指向自身吗?

转载 作者:行者123 更新时间:2023-11-30 21:02:03 25 4
gpt4 key购买 nike

例如 - 在下面的代码中,是一个指向自身的指针吗?

#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);
}

如果a不是指向自身的指针,那么同样的问题又会出现:指针可以指向自身吗?另外,自指向指针有什么用?

最佳答案

您的代码格式不正确,您的编译器应该给出错误。 a = b; 失败:int 不能隐式转换为 int *

假设你将其修正为:

int *a = (int *)&a;

那么可以说a指向内存中存储a本身的同一字节。但是,它会导致通过 *a 读取或写入未定义的行为(严格别名冲突)。

关于c - 如果指针变量的地址与其值相同,那么它真的指向自身吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33359719/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com