关于oc定义的一些问题 你说对了一些,变量都没有初始化,但是编译器是有优化的,a和b被初始化为nil(a、b不是一个脏指针),c、d被初始化成0,虽然没有运行时的问题,但这不是一种好的编程习惯。那后面的就好理解了,a、b是空对象,向空对象发消息(print)返回的也是空(nil == 0),简单值也是当0处理。补充一点,你用GCC4、LLVM GCC、LLVM 这三个编译器分别编译可能遇到不同的结果,并不是每个编译器都会帮你做默认初始化的。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 感谢斑竹大大!现在我知道了编译器对此进行了优化,a和b被初始化为nil,那nil即空和0有什么区别吗,比如和后面int c,d被初始化为0比起来,还有简单值也是当0处理怎么理解?[a numerator];结果为0,[a print];没有结果或说没有反应,是因为print方法返回空(就不输出结果了),而numerator方法当0处理(就输出0的结果)?这样吗 我只是有意测试一下 在实际编写时不会这样去做 就是想知道 同样是[a numerator];就可以得到值为0,而[a print];却得不到任何值,print内部其实就是用numerator方法写的 [a print]当然会什么都得不到,因为没有进入print方法中(a 对象是空的)。a对象既然不存在(初始化为nil),那么其内存地址就是0x00000000,所以说nil == 0;简单类型都是初始为0的,int = 0, long = 0, float = 0.0f,bool = false 等等 想请教一下关于用户收藏如何实现更加高效合理 NSImage加载图片[新手贴] socket 联网后recv没有返回数据 请教,这几个开发IPHONE程序的开发环境哪个好,大家都用哪种 请问团队开发中如何管理nib\xib文件。 [散分]大家说说,趁自己有空,开发一个什么类型的app好 iOS中如何扫描局域网内所有网段IP 请问OC中如何将分钟转换成秒,如下格式 为什么UITableView的委托不能是其他的类,委托只能是创建UITableView的类中 clang编译objective-c问题? iOSsdk本地数据库的问题 c++ 和object c如何混合编程
a对象既然不存在(初始化为nil),那么其内存地址就是0x00000000,所以说nil == 0;简单类型都是初始为0的,int = 0, long = 0, float = 0.0f,bool = false 等等