文档章节

第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
Objective-C学习总结——函数与变量的语法特性

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

C语言开发
2017/12/13
0
0
OC 封装

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

JoshSone
2016/08/16
3
0
OC基础学习:内存中的区域

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

Andy_Ron
2017/10/26
0
0
C 语言初级入门(9)--函数与指针 以及结构体的介绍

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

每天打起精神即可
2013/05/01
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

golang使用protobuf简易教程

参考文档:https://blog.csdn.net/qq_15437667/article/details/78425151 一、安装protobuf # 去github.com/golang/protobuf下载源码包,# 拷贝到 $GOPATH/src/github.com/golang/protobuf......

科陆李明
23分钟前
0
0
8月16日 上课截图

小丑鱼00
38分钟前
0
0
Nginx负载均衡、配置SSL

Nginx负载均衡 在 /usr/local/nginx/conf/vhost/ 下创建一个文件,写入以下内容 加载后用curl测试可以访问设置的网站 www.qq.com ssl原理 HTTPS是一种加密的http协议,如果HTTP通信的数据包在...

黄昏残影
42分钟前
0
0
String 源码阅读笔记

String源码阅读 本人学习笔记,内容来自于阅读源码和其他博客,水平有限,如有错误,烦请指正。 详情参考: Java 7 源码学习系列(一)——String 请别再拿“String s = new String("xyz");...

等到烟火清凉_
43分钟前
4
0
Coding and Paper Letter(十二)

资源整理。<!-- more --> 1 Coding: 1.R语言生成的ppt,GeoStat2018会议报告,时空模式分析的报告。 geostat18 2.欧空局哨兵和SMOS的工具集,关于对地观测数据的处理与分析的docker容器。 ...

胖胖雕
44分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部