第01天OC语言(12):局部变量和全局变量以及成员变量对比

#####一、概念 #####二、代码

#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;
}

image.png

转载于:https://my.oschina.net/u/3561184/blog/1306120

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值