变量
变量就是初始化定义之后可以进行修改的实例对象.
变量又分为全局变量和局部变量.
不赋值的时候默认为0或者空值.
如:
1 | Int a = 1; |
全局变量
1,函数外部进行声明.
2,可以跨文件进行访问.
3,可以在声明的时候进行赋值.
4,声明的时候,如果不赋值默认为空值.
5,存储的位置不是栈区也不是堆区,而是在专门:全局静态存储区.
6,程序启动就分配内存,直到程序结束才会释放;
局部变量
写在代码块或者函数之中;
作用域:从创建那一刻开始一直遇到大括号}或者return;
可以先定义再初始化,也可以在定义的时候初始化;
存储在栈区,由系统进行管理;
会在函数结束后释放;
成员变量
写在类声明的大括号内变量叫成员变量(也叫属性/实例变量)
不能再定义的时候进行初始化;
只能通过对象来进行访问;
存储于堆中(当前对象的堆对应的存储空间),需要程序员手动进行管理(引用计数);
常量
一旦定义,不能修改的实例.
使用const关键字进行修饰.
结合static和extern关键字来使用;
静态局部常量
写在代码块或者函数之中;
static修饰:静态局部常量
只会初始化一次,只有一份内存,延长变量或者常量的生命周期,直到程序结束才被销毁;
1 | static NSString *const game1 = @"game1"; |
const修饰的右边总是不能被修改;
全局静态常量
声明在函数外部
在类.h中声明可以被导入的类进行引用;
在类.m中声明则只能在该类中使用;
extern修饰全局常量
在.h声明:
1 | extern float const age; |
在.m中赋值
1 | float const age = 10; |
需要导入该类才能引用;
extern也可以修饰全局变量;