第01天OC语言(12):局部变量和全局变量以及成员变量对比
第01天OC语言(12):局部变量和全局变量以及成员变量对比
lyh2017iOS 发表于5个月前
第01天OC语言(12):局部变量和全局变量以及成员变量对比
  • 发表于 5个月前
  • 阅读 0
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 技术升级10大核心产品年终让利>>>   

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

#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

标签: OC语言
共有 人打赏支持
粉丝 2
博文 354
码字总数 137380
×
lyh2017iOS
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: