ios c语言指针,ios – Objective-C / NSObject指针与C指针进行比较

根据apple

objective-c文档,NSObject使用C指针来跟踪它们.我对iOS很新,并且将NSObjects上的指针操作与C指针进行比较会让人感到困惑.

例如:

NSString *string1 = @"This is a string";

NSString *string2;

string2 = string 1;

在C中,(如果我错了请纠正我)this = b / w 2指针使它们指向相同的“指针”.这意味着更改string1也应该更改string2.但它似乎没有像这样工作,并且NSStrings无论如何都是严格不变的,所以这增加了一些混乱.

string1 = @"new string";

如果这些指针像C指针一样操作,那么这不应该改变string2,因为它指向与string1相同的位置.此外,在C中,必须先将指针指定给指针对象才能取消引用.此规则似乎不适用于NSObjects.什么是’@’在做什么?最后,为什么我没有看到NSObjects的解引用发生如下:

*string1 = @"modifying the string"; //shouldn't this be how to access the contents of the pointer string1 if it operates like a c pointer?

有人可以对Objective-C指针下的内容以及它们与C指针的比较和对比有所了解吗?任何帮助将不胜感激.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值