iOS初学历程

变量的略知

2019-07-26  本文已影响0人  水无月之痕

变量:全局变量、静态变量、局部变量、字符串常量、动态分配、静态分配

---------------------根据使用范围分类--------------------------

全局变量

存储位置:全局(静态)存储区(static)
使用范围:跨文件
声明定义:函数外面声明,声明时可同时定义赋初始值,没有赋初始值,数值类型的变量系统默认为0。
使用注意:跨文件使用,需要extern前缀+声明格式。本文件使用一般声明定义格式即可。

静态变量

存储位置:全局(静态)存储区(static)
使用范围:在声明的文件内
声明定义:声明位置不限,声明时可同时定义赋初始值,没有赋初始值,数值类型的变量系统默认为0。

局部变量

存储位置:栈区(stack)
使用范围:当前声明定义的函数内,函数释放也随着自动释放
定义声明:声明定义在函数内部

某语言中,同一个变量名的使用的优先级:局部变量>全局变量/静态变量。

------------------根据释放方式-----------------------------

静态分配变量

存储位置:static、stack
释放方式:可根据其作用域结束,自动释放

动态分配变量

存储位置:heap
释放方式:不会自动释放,需要手动添加代码释放,并且可能由于一些操作系统原因导致提前释放。

------------------------其余-----------------------

字符串常量

存储位置:文字常量区
定义声明:使用某字符串,会自动保留常量区,可供不同的变量直接使用同一个常量,不需要再形成新的字符串常量。

变量的内存储存

拓展阅读
https://www.jianshu.com/p/a4335855154e

上一篇下一篇

猜你喜欢

热点阅读