关于oc定义的一些问题
来源:互联网 发布:mac电脑不休眠 编辑:程序博客网 时间:2024/05/06 18:51
#import "Fraction.h"@implementation Fraction@synthesize numerator,denominator;-(void) print{ NSLog(@"%i/%i",numerator,denominator);}@end#import "Fraction.h"int main(int argc, const char * argv[]){ @autoreleasepool { Fraction *a=[[Fraction alloc] init]; Fraction *b; [a print]; [b print]; NSLog(@"%i/%i",a.numerator,a.denominator); NSLog(@"%i/%i",[b numerator],[b denominator]); NSLog(@"%i",a); NSLog(@"%i",b); if (!a) { NSLog(@"123"); } if (!b) { NSLog(@"456"); } a.numerator=1; a.denominator=3; b.numerator=2; b.denominator=5; NSLog(@"%i/%i",a.numerator,a.denominator); NSLog(@"%i/%i",[b numerator],[b denominator]); } return 0;}
2015-04-26 10:05:05.981 Try[821:303] 0/0
2015-04-26 10:05:05.984 Try[821:303] 0/0
2015-04-26 10:05:05.985 Try[821:303] 0/0
2015-04-26 10:05:05.987 Try[821:303] 1087952
2015-04-26 10:05:05.987 Try[821:303] 0
2015-04-26 10:05:05.988 Try[821:303] 456
2015-04-26 10:05:05.989 Try[821:303] 1/3
2015-04-26 10:05:05.990 Try[821:303] 0/0
a正常初始化 实例变量为0/0 指针指向任意地址 b由于编译器初始化为nil 即空(nil == 0) 指针指向地址0x00000000
[a print]正常输出 [b print]由于对象为空 没有输出
a的两条NSLog语句分别输出实例变量和地址 b分别输出nil和0
后面b的判断也确实为0 对其设值也是一样为nil 因为没有正常初始化
最后简单类型由于编译器初始化都为0
0 0
- 关于oc定义的一些问题
- OC中关于属性的一些基本定义
- 关于指针定义的一些问题
- 关于OC的一些理论知识
- OC一些宏定义
- qt的关于编译条件的一些定义问题
- OC学习_2_关于类的定义
- 关于udev,sys,proc,tmpfs一些定义的问题
- 关于OC-Runtime的一些见解
- OC和Swift 定义属性的一些对比
- OC中内存管理的一些问题
- 关于重复定义的问题
- 关于特殊二叉树的一些定义
- 关于宏定义的一些理解
- 关于iOS一些常量定义的技巧
- 关于数据结构的一些名词定义
- 关于GCD的一些宏定义
- 关于图的一些定义和表示
- windows套接字IOCP模型
- 搞定桥接
- Sprite setBlendFunc 使用颜色混合:加算,减算
- opencv在Centos下编译及常用资料代码片记录
- Sublime Text 3安装Package Control
- 关于oc定义的一些问题
- leetcode String to Integer (atoi)
- MAC OS 解决R语言locale问题
- jQuery伸展与合拢的Panel演示
- 朴素贝叶斯分类算法的R语言实现
- 备忘
- ns2_aodv的部分代码解读
- 【毕业设计day05】精析代码
- php获取本周的开始日期和结束日期