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是否突然包含了其他东西?建议阅读:彼得·霍西。我想知道为什么这被否决。一句评论会帮助我提高自己。