gpt4 book ai didi

c - 需要帮助来理解涉及指针的 C 练习的解决方案

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

我需要帮助来理解我们如何获得下表中 Loc3 和 Loc4 的值。 当我自己制作表格时,我为这些列找到了完全不同的条目。 谢谢!

int x = 42; /* x is at address 100 */
int y = 13; /* y is at address 104 */
int *p; /* p is at address 108 */
int **p2; /* p2 is at address 112 */
/* Location 1 */
p = &y;
p2 = &p;
/* Location 2 */
*p2 = &x;
**p2 = 11;
/* Location 3 */
*p = 12;
/* Location 4 */

enter image description here

最佳答案

例如,loc3 处的 x 变为 11,因为您设置了 **p2到 11,这会修改该内存位置的值。 (双星是指向指针的指针)。 & 符号获取地址。

详细说明:

*p2 = &x;
**p2 = 11;

在 Loc2 中设置 p2 = &p ,这意味着 p2现在指向p的地址,即 108。

但现在在 Loc3 中,您设置了 p2指向x的地址。换句话说,从p2开始指向p的地址,现在你是说p应该指向 x 的地址(这也是 p 变成 100 的原因)。

然后**p2修改x地址处的值为 11(通过 p ),因此 loc3 的 x值变为 11。

关于c - 需要帮助来理解涉及指针的 C 练习的解决方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26655865/

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