int*x=&10;//不能对10取地址因为他不在堆栈区
//堆栈常量区的都b可以对变量取地址10就是一个字面量不能取地址1:指针是一种数据类型1)指针也是一种变量,占有内存空间,用来保持内存地址,在一般情况下所有指针、都是4个字节;2)*p操作内存再指针声明时,*号表示所声明的变量..
分类:
编程语言 时间:
2016-11-27 08:10:47
阅读次数:
145
本文转载自:http://blog.csdn.net/subo86/article/details/4814874 一、预备知识—程序的内存分配 一个由c/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数 ...
分类:
其他好文 时间:
2016-11-26 11:50:05
阅读次数:
160
转载:http://blog.csdn.net/hairetz/article/details/4141043 一、预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数 ...
分类:
其他好文 时间:
2016-11-23 19:41:40
阅读次数:
134
23). 内存中的五大区域 a. 栈 是专门用来存储局部变量的.所有的局部变量都是声明在栈区域中的. b. 堆 允许程序员手动的从堆申请空间来使用.(对象) c. BSS段 是用来存储未初始化的全局变量和静态变量. d. 数据段/常量区 用来存储已经初始化的全局变量、静态变量.还有常量数据. e. ...
分类:
编程语言 时间:
2016-11-19 23:24:53
阅读次数:
285
一、预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回 收 。 ...
分类:
其他好文 时间:
2016-11-12 16:15:21
阅读次数:
151
(一)在计算机中,运行的app数据都是保存在内存的。内存分为五大区域 *栈区:由编译器自动分配并释放,存放局部变量,先进后出(弹栈),一旦出了作用域就会被销毁,程序员不管这部分内存 *堆区:由程序员来管理,ARC管理OC对象在堆区,后进先出,堆都是alloc出来的(ARC是编译器在编译的时候自动添加 ...
分类:
其他好文 时间:
2016-11-10 16:37:16
阅读次数:
175
1 首先变量了解几个概念 静态变量:用 static 修饰的变量 局部变量: 存储在栈区;作用域是函数块内;生存期是直到函数块结束 全局变量:存储在静态区;作用域是从定义到本源程序结束,生存期是运行期间 静态全局变量:存储在静态区;作用域是函数块内;生存期是运行期间 静态局部变量:存储在静态区;作用 ...
分类:
其他好文 时间:
2016-11-05 14:36:17
阅读次数:
195
一、预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 : 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回 收 ...
分类:
其他好文 时间:
2016-10-18 02:04:10
阅读次数:
170
1.内存分为5大区:栈区,堆区,Bss段,数据区,代码区(排序方式:由高地址-->低地址) 其中注意:栈区对象的地址分配是先分配高地址,再分配低地址,(通俗讲就是在栈区中存的变量,先从地址高的开始往下存) 堆区是从低地址开始分配,再分配到高地址 如下图; 栈区:存储局部变量 堆区:存储程序运行的过程 ...
分类:
其他好文 时间:
2016-10-15 19:01:56
阅读次数:
122
没有引用外部变量的block 为 __NSGlobalBlock__ 类型(全局block) MRC: 引用外部变量的block 为 __NSStackBlock__ 类型(栈区block) 栈区中的block,申明属性用copy,可以从栈区拷贝到堆区 使用copy修饰的原因是 :防止block 在 ...
分类:
其他好文 时间:
2016-10-13 14:32:25
阅读次数:
158