一、概念
二、代码
#import <Foundation/Foundation.h>
#pragma mark 类
#pragma mark main函数
@interface Person : NSObject
{
/*
写在类声明的大括号中的变量, 我们称之为 成员变量(属性,实例变量)
成员变量 只能 通过类对象来访问
注意 : 成员变量 不能离开类, 离开类 之后就不是 成员变量
成员变量 不能东一的同时进行初始化
存储 : 堆 (当前对象对应的堆的存储空间中)
// 存储在堆中的数据, 不会被自动释放,只能程序员 手动释放
*/
int age;
// int age = 10; // Expected';' at end declaration list
}
@end
@implementation Person
@end
// 写在函数 和 大括号外部的变量 , 我们称呼为全局变量
// 作用域 : 从定义的哪一行开始, 一直到文件末尾
// 局部变量 可以先定义再初始化, 也可以定义的同时 初始化
// 存储 : 静态区
// 程序已启动 就会分配存储空间, 知道程序结束才会释放
int a;
int main(int argc, const char * argv[])
{
// 写在函数 或者代码块中的变量, 我们称之为局部变量
// 作用域 : 从定义的哪一行开始, 一直到 遇到大括号 或者 return
// 局部变量 可以先定义再初始化, 也可以定义的同时初始化
// 存储 : 栈
// 存储在 栈中的 数据有一个特点, 系统会自动给我们释放
int num = 22;
{
int age;
}
#pragma mark 1.存储的空间
/*
(栈) 局部变量 : 存储在 栈中的 数据有一个特点, 系统会自动给我们释放
(静态区) 全局变量 : 程序已启动 就会分配存储空间, 知道程序结束才会释放
(堆) 成员变量 : 存储在堆中的数据, 不会被自动释放,只能程序员 手动释放
*/
return 0;
}