gpt4 book ai didi

c - c中**(&d)是什么意思?

转载 作者:行者123 更新时间:2023-11-30 20:03:07 24 4
gpt4 key购买 nike

我们的老师给了我们以下代码:

x = **(&d);

他的问题是:“你必须在这一行上面添加哪行代码,这样代码才是正确的?”

有人可以帮我吗?这行的含义是什么?

最佳答案

DeiDei的言论是有可能的,我这里只是解释一下

我们使用 C 语言,为了简化考虑,xd 不是宏。

x = **(&d);相当于 x = *d;因为要获取地址然后取消引用不会执行任何操作

现在的问题是找到一个上下文,其中 x = *d;是合法的,因为 d 必须是一个指针。比如说int * d;

目标也可能是不出现段错误,因此d需要记住有效的地址。比如说int a; int * d = &a;

现在我们将x分配为*d所以 x 的类型必须与 int 兼容 比如说 int a; int * d = &a; x = **(&d);

为了干净起见,我们不想访问未初始化的值,因为 x 最终收到必须初始化的 a 值。

int a = 0; int* d = &a; int x; x = **(&d); DeiDei 的解决方案符合要求,但当然还有很多其他解决方案

关于c - c中**(&d)是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54170520/

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