Iphone 将一个指针指向另一个指针-会发生什么?

Iphone 将一个指针指向另一个指针-会发生什么?,iphone,objective-c,pointers,Iphone,Objective C,Pointers,不知是否有人能为我澄清以下内容。如果我将一个指针指向另一个指针会发生什么?例如 Pointer 1 = Object Pointer 2 = Pointer 1 如果我随后更改指针1: Pointer 1 = Object 2 指针2现在指向哪里 谢谢 马丁指针1=对象 指针1包含对象的地址 Pointer 2 = Pointer 1 指针2=指针1 将指针1的值指定给指针2。指针1的值是对象的地址。所以指针2也包含对象的地址 Pointer 1 = Object 2 指针1=对象2 指针1

不知是否有人能为我澄清以下内容。如果我将一个指针指向另一个指针会发生什么?例如

Pointer 1 = Object
Pointer 2 = Pointer 1
如果我随后更改指针1:

Pointer 1 = Object 2
指针2现在指向哪里

谢谢

马丁

指针1=对象 指针1包含对象的地址

Pointer 2 = Pointer 1 指针2=指针1 将指针1的值指定给指针2。指针1的值是对象的地址。所以指针2也包含对象的地址

Pointer 1 = Object 2 指针1=对象2 指针1更改,但指针2的值不变。所以指针2仍然包含对象的地址

Pointer 1 = Object 2 事物是指针包含地址,即指针变量的值是内存的地址。如果将其分配给另一个指针,则该地址的分配方式与普通整数相同。但是,指向指针(即指向指针或**的指针)不同于将指针分配给另一个指针


你可以用谷歌搜索“C指针教程”(Obj-C是C的超集,指针来自C部分,在Obj-C中没有什么特别之处),以便更好地理解。我推荐这本书是专门为初学者准备的

基本上,大声说出你的代码在做什么。指针1指向对象1的地址。指针2指向指针1的地址。更改指针1的值不会更改指针1的地址。即使在释放指针一的内容时也不行。

如果你把对象看作封闭的盒子,把指针看作篮子,这可能会有所帮助。你把一个盒子放进篮子1,然后把篮子1放进篮子2。如果你这样从篮子1中取出盒子,换成另一个盒子,篮子2是否突然包含了其他东西?

建议阅读:彼得·霍西。我想知道为什么这被否决。一句评论会帮助我提高自己。