一. oc语言的历史 作者: 布莱德.麦克(Brad Cox)
@autoreleasepool是自动释放池,用于收回对象的存储空间
一,import和include的区别; import可以防止头文件的重复包含 include不能防止头文件重复包含
二,NSLog 和printf的区别: 1,NSLog可以自动换行, 输出调试信息, printf不能. 2,NSLog 函数的参数是一个NSString 对象 3,printf函数的参数是一个字符串常量指针
三,@符号的含义: 1,@“” 将双引号的C字符串转换为OC的字符串对象NString; 2,OC中的一个特有标示符,很多关键字前面都加@。
四,OC可以访问C源文件中的函数。C不能方位OC中的源文件中的方法。(这里其实是向下兼容)
五.语言特点 源文件对比: 1,C中常见的源文件有.c 和 .h ; 2,OC中常见的源文件有.h 和 .m ;
基本语法对比: 1,数据类型对比: 首先OC兼容C中的所有数据类型; OC新增了boolean类型、block类型、对象类型、特殊类型SEL和nil 等; 另外,C中不兼容OC中新增的类型;
2,流程控制语句对比; 首先OC兼容了C中所有的流程控制语句; OC又新增了自己的for in 增强型的循环语句; //OC中的增强型for循环 for(NSString *str in arr){ NSLog(@"%@",str); }
3,函数和方法定义声明的对比; C语言中函数的声明和实现 i.函数声明: int sum(int a,int b);
ii.函数定义 int sum(int a,int b){ return a+b; }
OC语言中函数习惯称之为“方法” i.方法声明: -(int)sum:(int) a and:(int) b;
ii.方法定义 -(int)sum:(int) a and:(int )b{ return a+b; }
|