码迷,mamicode.com
首页 > 编程语言 > 详细

oc基础第一天---c语言和oc语言的对比

时间:2015-07-16 00:49:08      阅读:140      评论:0      收藏:0      [点我收藏+]

标签:

/*

  1. OC程序的编译.

     它的编译、连接、执行和C程序是相差无几的.

 

 

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

     2). 使用 cc -c 指令来编译我们的文件.

         a. 预处理.

         b. 检查语法

         c. 生成.o的目标文件.

 

     3). 链接

         cc xx.o 

         a. 添加启动代码.

         b. 链接函数. 将要调用的函数的实现拷贝进来

 

         在代码中如果使用到了框架中的功能  就必须要指定系统到那1个框架中去找.

 

          cc main.o -framework Foundation

 

     4). 链接完毕之后 会生成1个a.out可以执行文件 一样可以执行.

 

 

 2. OC程序各个阶段的后缀名.

 

            C        OC

 源文件     .c        .m

 目标文件    .o       .o

 可执行文件  .out     .out

 

    

 

 3. OC的数据类型.

 

    1). OC支持C语言中的所有的数据类型.

 

        基本数据类型: int float double char

        构造类型: 数组 结构体 枚举

        指针:

        void 

        typedef 定义类型.

 

    2). OC在此基础之上新增了一些数据类型.

 

        a. BOOL类型. 可以存储YES和NO 之中的任意1个数据.

           一般情况下,使用它来保存1个条件表达式的结果.

           YES代表条件成立  NO代表条件不成立.

 

 

           BOOL的本质: 是1个有符号的char变量. YES实际上1 NO实际上是0.

           输出的话.只能以整型输出.

 

 

        b. Boolean类型. 可以存储true或者false

           代表1个条件的真假. 用来保存1个条件表达式的结果.

 

           本质: 无符号的char变量.      

                 true 1

                 flase 0.

    

        c. id类型. 万能指针. 谁都可以指.

 

        d. class 类.

 

        e. SEL  方法包装器.

 

 

        f. nil  与 NULL 差不多.

 

 

        g. block 代码块.

 

 

    

 

 4. OC支持C语言中的所有的运算符.没有新增.

 

    赋值运算符. = 

    算术运算符  + - * / % 

    复合赋值运算符 += 

    自增自减 ++ --

    关系运算符  > >= .....

    逻辑运算符  && ||  !

    取地址运算符   &

    * 

    ........

 

 

 

 5. 控制语句.

     

    OC支持C的所有的控制语句.

 

    if 

    switch-case

    while

    do-while

    for

    数组

    指针

    函数

    .......

 

    全部都被OC支持

 

 

 

 6. OC支持C的所有的关键字. 并且效果一直.

 

    OC还新增了一些关键字. OC新增的关键字绝大部分以@开头.

 

 

 

 7. 函数定义和调研 一样.

 

 

 

 

 OC是完全兼容C语言. 在OC中可以写任意的C代码 并且效果和C的一样.

 

oc基础第一天---c语言和oc语言的对比

标签:

原文地址:http://www.cnblogs.com/qjrz/p/4649888.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!