gpt4 book ai didi

使用指针到指针更改引用

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

在下面的代码中,预期输出是 1。但结果是 2。引用如何变化?

#include <stdio.h>

int main()
{
int a = 1, b = 2, c = 3;
int *ptr1 = &a, *ptr2 = &b, *ptr3 = &c;
int **sptr = &ptr1; //-Ref
*sptr = ptr2;
printf("%d",*ptr1);
}

最佳答案

int a = 1, b = 2, c = 3;
int *ptr1 = &a, *ptr2 = &b, *ptr3 = &c;

ptr1的值是a的地址,ptr2的值是b的地址。

int **sptr = &ptr1; // sptr has address of ptr1

由于 sptr 指向 ptr1(其值为 ptr1 的地址),通过使用 *sptr > 我们可以改变 ptr1 的值。

*sptr = ptr2; //here we are altering contents of sptr and value of ptr1.

现在 ptr1 指向 ptr2 的位置。至b = 2

关于使用指针到指针更改引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26215255/

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