//
// main.m
// 局部变量和全局变量和成员变量
#import <Foundation/Foundation.h>
@interface Person : NSObject
{
/*
写在类声明的大括号里面的变量,我们称之为成员变量(属性,实例变量)
成员变量只能通过对象来访问
注意:成员变量不能离开类,并且成员变量在定义的时候不能初始化
存储:堆(存储在堆中的数据不能自动释放,需要程序手动释放)
*/
int _age;
}
@end
@implementation Person
@end
/*
写在大括号和函数外面的变量我们叫全局变量
作用域:从定义的那一行开始,直到文件末尾
可以先定义再初始化,也可以定义的同时初始化
存储:静态区 (程序已启动就会分配存储空间,并直到程序结束才释放)
*/
int a;
int b = 10;
int main(int argc, const char * argv[]) {
/*
写在函数和代码块中的变量我们叫局部变量
作用域:从定义的那一行开始,直到遇到大括号或return
可以先定义再初始化,也可以定义的同时初始化
存储:栈 (系统会自动帮我们释放)
*/
int c;
int d = 10;
return 0;
}