文档章节

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

lyh2017iOS
 lyh2017iOS
发布于 2017/07/11 00:06
字数 479
阅读 0
收藏 0

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

#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

© 著作权归作者所有

共有 人打赏支持
lyh2017iOS
粉丝 1
博文 357
码字总数 137380
作品 0
朝阳
私信 提问
OC-语法:static,extern,const修饰符,静态变量,局部变量,全局变量

一。C语言中的static的作用 在C语言中,static的字面意思很容易把我们导入歧途,其实它的作用有三条。 (1)第一个作用:隐藏。 当我们同时编译多个文件时,所有未加static前缀的全局变量和函...

水一样的人儿
2015/12/29
2.4K
0
OC 封装

首先介绍一下设置实例变量(setter)方法和访问实例变量(getter)的方法 ,那么问题来了,set和get方法的作用是什么呢?这里不得不提到一个概念『封装』。 我们之前使用类属性时,都会在花括号的...

JoshSone
2016/08/16
3
0
C 语言初级入门(9)--函数与指针 以及结构体的介绍

1、通过实参向函数 传递函数名 或 指向函数的指针变量 1.1、指向函数指针变量的定义: 在C语言中函数名代表该函数的入口地址; 区分:指向函数的指针和返回值是指针; 类型函数: double(fp)...

每天打起精神即可
2013/05/01
0
0
Objective-C学习总结——函数与变量的语法特性

Objective-C学习总结——函数与变量的语法特性 Objective-C是一种以C为基础,并集合Smalltalk特征扩展出来的面向对象的语言。在本章节中主要记录总结OC中函数与变量的C语言特性。 全局变量和...

C语言开发
2017/12/13
0
0
OC基础学习:内存中的区域

OC中,内存一般分为五大区域 栈 存储局部变量和实参 由编译器自动分配释放 存储空间有限 地址是连续的 地址分配从大到小 访问速度快 堆 允许程序员自己申请的空间,需要程序员自己控制,会出...

Andy_Ron
2017/10/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

CentOS配置Tomcat监听80端口,虚拟主机

Tomcat更改默认端口为80 更改的配置文件是: /usr/local/tomcat/conf/server.xml [root@test-a ~]# vim /usr/local/tomcat/conf/server.xml # 找到 Connector port="8080" protocol="HTTP/1......

野雪球
今天
5
0
《稻盛和夫经营学》读后感心得体会3180字范文

《稻盛和夫经营学》读后感心得体会3180字范文: 一代日本经营之圣稻盛和夫凭借刻苦勤奋的精神以及深植于佛教的商业道德准则,成为了“佛系”企业家的代表人物。在《稻盛和夫经营学》“领导人...

原创小博客
今天
3
0
java框架学习日志-5(常见的依赖注入)

依赖注入(dependency injection) 之前提到控制反转(Inversion of Control)也叫依赖注入,它们其实是一个东西,只是看的角度不同,这章详细说一下依赖注入。 依赖——指bean对象创建依赖于...

白话
今天
4
0
红外接收器驱动开发

背景:使用系统的红外遥控软件没有反应,然后以为自己接线错误,反复测试,结果烧坏了一个红外接收器,信号主板没有问题。所以自己开发了一个红外接收器的python驱动。接线参见https://my.os...

mbzhong
今天
2
0
ActiveMQ消息传送机制以及ACK机制详解

AcitveMQ是作为一种消息存储和分发组件,涉及到client与broker端数据交互的方方面面,它不仅要担保消息的存储安全性,还要提供额外的手段来确保消息的分发是可靠的。 一. ActiveMQ消息传送机...

watermelon11
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部