摘要: 区别:1.局部变量: (1)在函数体内部或者复合语句中定义的变量称为局部变量。 (2)作用域为当前的函数体。 (3)在栈区(动态存储区)分配。 (4)函数调用时开始分配,调用结束时释放。2.全局变量: (1)在函数体之外定义的变量称为全局变量。 (2)当前文件所有函数都可以调用该变量,其... 阅读全文
posted @ 2014-11-19 11:13 Achille·Swn 阅读(546) 评论(0) 推荐(0) 编辑
摘要: 一个C/C++编译所占用的内存分配如下:1.栈区 编译器自动分配释放,存放函数参数,局部变量。2.堆区 有程序员分配释放,可以存放自定义的类型空间。如果程序员不释放,可能有OS释放。3. 静态区 存放全局变量,静态变量,包括未初始化的全局/静态变量,已初始化的全局/静态变量。4.文字常量区 ... 阅读全文
posted @ 2014-11-19 10:47 Achille·Swn 阅读(121) 评论(0) 推荐(0) 编辑
摘要: 堆和栈的区别1.分配方式栈:由系统分配。例如:局部变量 intb ,系统自动为变量b开辟空间。堆:需要程序员主动开辟空间,并指定大小。例如:p = (char *)malloc(1024),开辟的1024字节空间存放在堆中,注意变量p还是在栈中。2.申请后的响应栈:只要所申请的空间小于剩余的空间,系... 阅读全文
posted @ 2014-11-19 10:26 Achille·Swn 阅读(133) 评论(0) 推荐(0) 编辑