美文网首页
static const extern define

static const extern define

作者: 幻影道哥 | 来源:发表于2018-10-23 14:23 被阅读8次

    了解static 与 const的使用 看我上一篇文章.
    iOS写法优化,苹果推荐是使用const.下面我把整理的区别做一下解释:

    const :
    1.const仅仅用来修饰右边的变量(基本数据变量p,指针变量*p)

    2.被const修饰的变量是只读的

    3.const是在编译阶段检查,如果有问题会报错.

    4.static const修饰的变量只有一份内存

    5.不能定义表达式

    static :
    1.修饰局部变量
    1.1让局部变量只初始化一次
    1.2局部变量在程序中只有一份内存
    并不会改变局部变量的作用域,仅仅是改变了局部变量的生命周期(只到程序结束,这个局部变量才会销毁)
    2.修饰全局变量
    全局变量的作用域仅限于当前文件,在pch文件里导入头文件可以作用于全局.

    static和const的联合使用 定义一个只能在当前文件访问的全局常量
    static是将一个全局变量变成了局部变量(只在当前文件访问)
    const是将一个局部变量变成了局部变量

    extern :
    1.只是用来获取全局变量(包括全局静态变量)的值,不能用于定义变量
    2.先在当前文件查找有没有全局变量,没有找到,才会去其他文件查找
    使用方法:
    1.新建两个文件(1个.h 1个.m)例如(LKYConst)

    2.在.m文件中定义常量并且赋值,在.h文件中引用该常量
    如下图:

    694556-2bd54ce3af0fc294.png 694556-da37e48304a8ac27.png 694556-14cfc2840a661e71.png 694556-845f2cda70684e5e.png

    define:
    宏定义是方法的展开
    1.每个地方使用到都会分配内存
    2.只是在预处理器里进行文本替换,没有类型
    3.可以预编译表达式

    define PersonExpresson if(){} else{}

    相关文章

      网友评论

          本文标题:static const extern define

          本文链接:https://www.haomeiwen.com/subject/uqigzftx.html