Dan*_*iel 2 iphone pointers objective-c nsstring
只是想更好地理解ObjectiveC.
这两个表达式不应该相同吗?
NSString *str; //address of str is 0x438a5625
NSString *str=nil; //address of str is 0x0
Run Code Online (Sandbox Code Playgroud)
这种行为的原因是什么?
在C中,因此在Objective C中,变量不会自动初始化; 但是,你只是分配了记忆,清除它(如有必要)成为你的责任.
有时候,这个记忆已经很清楚,但大多数时候,它充满了垃圾,从其他过程中释放的记忆,或者大象在跳舞罐头; 未初始化的自动内存(例如您在这里所拥有的内容)的内容是未定义的.
永远不要假设未初始化的内存实际上可用于除了赋值之外的任何内容!
作为一个程序问题,在这两种情况下,当你真正意味着"价值"时,你会说"地址".