在C中,如果你有这样的东西:
int obj = 5;
int * ptr = &obj;
int * ptr2 = ptr;
ptr2++;
ptr也会增加,还是只增加ptr2?我想我得到的是,如果从主要指针中分配第二个指针,那么执行函数操作是一种很好的方法,可以在不弄乱第一个指针的位置的情况下执行此操作。这是我正在编辑多个功能的项目。我可以访问指向对象的指针,但不能访问对象本身。
答案 0 :(得分:1)
第一个指针(ptr
)将不受影响,因为您要将第二个ptr(ptr2
)设置为第一个(&obj
}的值ptr
),就像你有以下代码一样:
int a = 1;
int b = a;
b++;
只有b
会增加,而不是a
答案 1 :(得分:1)
如果您复印一张纸并刻录副本,原件是否会永远丢失?
当然不是!
答案 2 :(得分:0)
您仅更改了ptr2
的值。 ptr
仍然保留obj
的地址。