美文网首页
iOS:言简意赅理解static与const

iOS:言简意赅理解static与const

作者: ACMango | 来源:发表于2017-02-07 17:33 被阅读26次

    通过c语言来理解static及const

    一:static的理解

    (1)从存储空间来理解分为:程序区、静态�存储区、动态存储区。 其中静态存储区为存储静态变量,变量从创建开始就一直存在,直到程序结束销毁;动态存储区,存储动态变量,如函数中创建的动态变量,随着函数结束就销毁了。

    (2)对于一个数据的定义,需要指定两种属性:存储类型和数据类型。
    static int a; (static为存储类型,int 为数据类型) auto char c; (auto为存储类型,char为数据类型)

    (3)按照作用域来分:(字写得不好看。。。)


    作用域分类.jpg

    (4)静态变量在程序整个运行期间都不会释放,对静态变量只在编译时赋初值一次,以后每次调用函数时,不再重新赋初值,而只是保留上一次函数调用结束时的值。

    二:const的理解

    (1)const是一个c语言的关键字,作用:是限定一个变量不允许被改变;好处:使用const在一定程度上可以提高程序的安全性和可靠性。

    (2)如下面的例子:
    const int a = 0;
    const作为一个类型限定词,和int有相同的地位。
    我们要明白const修饰的对象是谁,const修饰的是变量,int只是类型,所以const修饰的是变量a,而此时a是不可被改变,不可被赋值的。
    const int *p; *p指向的变量不可变 int * const p; p的值不可变

    引用: http://blog.sina.com.cn/s/blog_5f84dc840100lrm7.html

    相关文章

      网友评论

          本文标题:iOS:言简意赅理解static与const

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