1、全部变量、局部变量
局部变量:定义在函数内部的变量,作用域为函数内部 eg: void fun(){ int x;}
全部变量:只能定义一次,多次引用。作用域为整个文件。
若同一个源文件,全局变量和局部变量重名是,在局部变量的作用域,全部变量不起作用。
关键词:
全部变量:函数外定义+全局可见+存放在内存的全局数据区+未初始化的的时候为0
局部变量:函数内定义+函数内可见+存放在栈区,函数退出变量消失+不显式初始化内容不可预知...
分类:
其他好文 时间:
2014-09-25 14:13:48
阅读次数:
244
在C语言中,内存被分成5个区,它们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。
堆:是那些由new分配的内存块,它们的释放编译器不用管,由应用程序去控制,一般一个new就要对应一个delete。加入此程序员没有释放掉,那么程序结束后,操作系统会自动回收。
栈:是那些由编译器在需要的时候分配,在无须的时候自动清除的变量的存储区。里面的变量通常是局部变量、函数参数等。
自由存储区:是...
分类:
其他好文 时间:
2014-09-22 22:57:53
阅读次数:
195
栈区可以修改默认大小配置:栈区默认的大小是1M,在vs2013中可以修改。堆区和栈区的地址区别:栈是连续的,向上增长,地址越来越小。类似数组。堆是链接的,向下增长,地址越来越大。类似链表。栈区 高地址到低地址堆区 低地址到高地址#include #include int main(){ int a ...
分类:
编程语言 时间:
2014-09-19 21:08:26
阅读次数:
344
一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)— 程序运行时由编译器自动分配,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。程序结束时由编译器自动释放。2、堆区(heap) — 在内存开辟另一块存储区域。一般由程序员分配释放, 若程序员不释放,程序结束...
分类:
其他好文 时间:
2014-09-19 16:53:55
阅读次数:
221
转:http://blog.csdn.net/dotneterbj/article/details/8021200一个由C/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap...
分类:
其他好文 时间:
2014-09-16 12:30:50
阅读次数:
323
栈区:int a=3;堆区:malloc(255) (所占内存最大)静态区:static float h=1.36;常量区“lanou"代码区:void function(){…}内存地址,从上到下,内存地址越来越小。栈内存分配由高到低(栈底是高位内存,栈顶是低位内存),先进后出错误使用:ch...
分类:
其他好文 时间:
2014-09-14 23:20:17
阅读次数:
163
预备知识—程序的内存分配一个由C/C++编译的程序占用的内存分为以下几个部分栈区(stack)— 由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。堆区(heap)— 一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收。注意它与数据结构中的堆是两回事...
分类:
其他好文 时间:
2014-09-14 20:40:47
阅读次数:
431
UIImage*p_w_picpath6=[UIImagep_w_picpathNamed:@"iphone.png"];//使用p_w_picpathNamed创建的对象会在内存中一直存在,空间不会回收,所以当图片子啊程序运行期间频繁使用时,可以选择使用该方法.可以节省堆区空间的开销成本(堆区空间的分配内存的效率明显低于栈区)//如果加载过..
分类:
其他好文 时间:
2014-09-05 03:22:20
阅读次数:
176
C语言的内存分配主要有5个区域:
1、栈区:在执行函数时,函数内的局部变量(不包括static变量)、函数返回值的存储单元在栈区上创建。函数执行结束时这些存储单元自动被释放。栈区内存分配运算内置于处理器的指令集中,效率很高,但分配的内存容量有限。
2、堆区:程序在运行的时候用malloc(calloc、realloc等)申请的内存,要由程序员自己负责用free释放内存。
3、静态存储区:存放...
分类:
编程语言 时间:
2014-09-02 19:55:27
阅读次数:
247
一、预备知识—程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收。注意它与数据...
分类:
其他好文 时间:
2014-09-01 22:37:53
阅读次数:
260