iOS:言简意赅理解static与const

通过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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • *面试心声:其实这些题本人都没怎么背,但是在上海 两周半 面了大约10家 收到差不多3个offer,总结起来就是把...
    Dove_iOS阅读 27,452评论 30 472
  • 注:这是第三遍读《C语言深度解剖》,想想好像自从大学开始就没读完过几本书,其中谭浩强的那本《C语言程序设计(第四版...
    HavenXie阅读 5,797评论 1 6
  • 题目类型 a.C++与C差异(1-18) 1.C和C++中struct有什么区别? C没有Protection行为...
    阿面a阅读 12,323评论 0 10
  • 126.析构器 在一个类实例销毁前,一个析构器会立即调用。使用deinit 关键字来表示析构器, 跟构造器写法类似...
    无沣阅读 4,306评论 0 4
  • 青春大概就是和最好的朋友一起去旅行,和最爱的人吵架分手,和父母没有话说。 哭过 笑过 恋过 恨过 … 青春大概如你...
    Echo小蜗阅读 3,582评论 0 0

友情链接更多精彩内容