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

用户5613057

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

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 符合要求,但当然还有很多其他解决方案

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章