OC 和 C 的关系

1.OC相对于C做了什么事情? 

a.在C语言的基础上新增了一小部分面向对象的语法. 

b.将C语言复杂的、繁琐的、可恶的语法封装的更为简单.

c.OC完全兼容C语言,可以在OC中写C语言代码.

2.OC程序的源文件的后缀名是.m文件, m的意思是message,代表OC中最重要的机制消息机制,而C语言的源文件的后缀名是.c文件.

3.main函数依然还是程序的入口和出口. int 类型的返回值,代表程序的结束状态, 返回0代表程序结束. 

4.main函数的参数 : 仍然可以接受用户在运行程序的时候传递数据给程序,参数也可以不要.

5.#import指令:以#开头,说明它是预处理指令,它是#include指令的增强版,将文件的内容在预编译的时候拷贝到指定的地方.

增强在什么地方? 如果使用#include指令导入头文件要实现不重复包含的效果,必须要配合条件编译指令来实现.而使用#import指令导入头文件无论多少次,只会包含一次,#import指令在包含文件的时候,底层会先判断这个文件是否被包含,如果被包含就会略过,否则才会包含.

6.框架是一个功能集 苹果或者第三方事先一些功能封装好在一个一个的类或者函数中,这些函数和类的集合就叫做框架.

Foundation框架:这个框架中提供了一些最基础的功能,就比如 一些最常用的类、 数据类型、输入和输出 等等.

7.NSLog打印函数,它是printf的加强版.

8.OC中设计了1个更为好用的用来存储字符串的一个类型,NSString 字符串, 字符串前带@就是OC字符串,没有的话是C字符串.

9.OC中增加了很多由@符号开头的关键字.

10.OC程序的编译、连接、执行.

1).在.m文件中写上符合OC语法规范的源代码.

2).使用编译器将源代码编译为后缀名为.o的目标文件.

cc -c xx.m

a.预处理

b.检查语法

c.编译 

3).链接 

与C语言不同的是 在这里有一个注意点就是 如果程序中使用到了哪个框架中的的功能或者类,那么在链接的时候,就必须告诉编译器去哪一个框架中找这个功能或者类.

cc xx.o -framework框架名称. 

4).链接成功之后,就会生成一个a.out可执行文件.

11.OC中的数据类型. 

包括C语言中所有的数据类型

1).a.基本数据类型: int、double、float、char  b.构造类型:数组、结构体、枚举  c.指针类型:int*、char*  d.空类型void e.typedef自定义类型.

2).新增的类型 

a.BOOL类型存储YES NO .

b. Boolean类型存储ture false. 

两个其实是一个意思 ,目的是为了吸引其他语言开发人来开发OC程序,比如JAVA就有Boolean这个数据类型,C#里面就有BOOL这个类型. 

3).class类型.类

4). id类型.万能指针

5).nil与NULL

7).SEL方法选择器

8).block

12.OC支持C所有的运行符 、OC支持C所有的控制语句、OC支持C所有的关键字,并新增了一些关键字,OC新增的关键字绝大多数都是@符号开头,@interface @implement @public … 

函数的定义和调用也与C语言的完全一致.

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 13,802评论 1 32
  • TITLE: 编程语言乱炖 码农最大的烦恼——编程语言太多。不是我不学习,这世界变化快! 有时候还是蛮怀念十几、二...
    码园老农阅读 10,781评论 2 35
  • 姓名:魏正君《六项精进》第270期感谢2组公司:绵阳大北农农牧科技有限公司【日精进打卡第452天】【知~学习】背诵...
    莫心莫肺阅读 884评论 0 0
  • 亲爱,这里是真心星球 经岁月获准,从今天起,许你弹琴,许我附唱。 你可千万别说女孩儿现实,哪里爱什么王权富贵,怕什...
    Yesidoo阅读 1,339评论 0 0
  • 夏季防癍饮品,健康又好喝哦~ 西红柿汁 每日喝1杯西红柿汁或经常吃西红柿,对防治雀斑有较好的作用。因为西红柿中含丰...
    a3d28e2b27ea阅读 2,642评论 0 1