• OC之OC与C的比较


    1. 从编写、编译、链接的流程.

        1). 创建1个.m的源文件.

        2). 在这个文件中写上符合OC语法规范的源代码.

        3). 编译.

            a. 预编译: 执行预处理代码.

            b. 检查语法.

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

        4). 链接.

            a. 添加启动代码.

            b. 链接函数.

        如果代码中使用到了框架中的功能.那么在链接的时候,就必须要告诉编译器去哪个框架中找这些函数.

            cc xx.o -framework 框架名称

    2. 和C程序各个阶段的文件后缀名对比.

            源文件     目标文件       可执行文件

     C语言   .c        .o             .out

     OC语言  .m        .o             .out

    3. 在Xcode中点击运行按钮.

        所有的事情,Xcode自动完成.

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

        1). 基本数据类型

            int

            double

            float

            char

            short

            long

            long long

            unsinged

            singed

        2). 构造类型

            数组.

            结构体

            枚举.

        3). 指针.

        4). typedef定义类型.

        5). void空类型.

     5. OC在C的数据类型的基础之上,还新增了1些数据类型.

        1). BOOL类型

            这个类型的变量中可以存储YES或者NO 中的任意的1个数据.

            一般情况下.BOOL类型的变量用来保存1个条件表达式的结果.

            如果条件成立,那么结果就是YES 否则结果就是NO

            在OC中,使用BOOL类型的变量来保存1个条件表达式的结果. 条件成立就是YES 否则就是NO

            BOOL类型的本质:

            typedef signed char BOOL;

            实际上是1个有符号的char变量.

            YES和NO的本质

            #define YES ((BOOL)1)

            #define NO  ((BOOL)0)

            其实YES就是1 NO就是0.

         2). Boolean类型

            这个类型的变量只能存储true或者false这两个数据.

            代表1个条件表达式的结果.

            一般情况下.Boolean类型的变量用来保存1个条件表达式的结果.

            如果条件成立,那么结果就是true 否则结果就是false.

            Boolean的本质

            typedef unsigned char    Boolean;

            是1个无符号的char变量.

            true和false的本质.

            #define true 1

            #define false 0

            一般都是使用BOOL类型的.

        3). class类型

            NSString 类.

        4). nil

            与NULL差不多.

        5). SEL

            这个类型的变量是来保存方法的.

        6). block

            这个类型的变量是用来保存1段代码的.

    6. OC的运算符: OC支持C的所有的运算符.

        1). 赋值运算符.

        2). 算术运算符

        3). 复合赋值运算符

        4). 自增与自减运算符

        5). 逗号运算符

        6). 关系运算符  比较运算符

        7). 逻辑运算符

        8). 三元运算符

        9). & 取地址运算符.

        10). * 指针访问运算符.

        11). 位运算符.

        .........

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

        C语言的代码完全可以写在OC中,并且效果一致.

        1). IF

        2). switch-case

        3). while  do-while  for

        4). 数组.

        5). 指针.

        6). 结构体 枚举

            .......

    8. OC的关键字

        1). OC支持C语言的所有的关键字. 并且效果是一样的.

        2). OC在C的基础之上还新增了一些关键字.OC中新增的关键字绝大部分都是以@开头.

     

            @interface

            @implementation

            @public

            @protocol

            ......

     9. OC相对于C做了两件事情.

        1). 将C语言中复杂的 繁琐的语法封装的更为简单.

        2). 增加了面向对象的语法.

    不忘初心,方得始终
  • 相关阅读:
    黑鲨2无限重启 把竞技按钮调到最上
    绿联 电池
    阿里云
    Centos 8 搭建时钟服务器
    CentOS8系统时间同步解决方法
    解决问题的人干活快的人
    【海通国际】Joe Lowry(Mr. Lithium)谈全球电池原材料供应危机
    Linux 实验楼
    用 set follow-fork-mode child即可。这是一个 gdb 命令,其目的是告诉 gdb 在目标应用调用fork之后接着调试子进程而不是父进程,因为在 Linux 中fork系统调用成功会返回两次,一次在父进程,一次在子进程
    【随笔】阿里云修改DNS
  • 原文地址:https://www.cnblogs.com/jialiangliang/p/6099565.html
Copyright © 2020-2023  润新知