一个C/C++编译所占用的内存分配如下:1.栈区 编译器自动分配释放,存放函数参数,局部变量。2.堆区 有程序员分配释放,可以存放自定义的类型空间。如果程序员不释放,可能有OS释放。3. 静态区 存放全局变量,静态变量,包括未初始化的全局/静态变量,已初始化的全局/静态变量。4.文字常量区 ...
分类:
其他好文 时间:
2014-11-19 12:14:34
阅读次数:
185
String a="a";String b="b";String c="ab";String d="ab";String e=a+b;程序中用来存放数据的内存分为四块1、全局区(静态区)(static)2、文字常量区 :常量字符串就是放在这块区域,即是我们常说起的常量池。3、栈区(stack):存放...
分类:
编程语言 时间:
2014-10-07 23:48:34
阅读次数:
222
程序中内存分类主要有以下几种:
(1)栈存储区:主要存储局部变量、函数参数、函数返回值等。
栈内存由编译器在需要时自动分配,使用完后自动释放。
(2)堆存储区:由new、malloc申请到的空间。
需要程序员自己申请,使用完后要及时释放,否则会造成内存泄露。
(3)全局数据区(静态数据区):存储程序中的全局变量和静态变量。已初始化的变量和未初始化的变量分开存储,但在相邻的存储区域。
程...
分类:
编程语言 时间:
2014-09-17 18:39:02
阅读次数:
223
内存常用的区域分类:栈区(stack)、堆区(heap)、全局区(static区)、文字常量区、程序代码区。栈区:由编译器自动分配和释放,遵循”后进先出“的规则。在函数调用时,第一个进栈的是主函数中的下一条指令地址,然后是函数的各个参数(大多数C编译器中,参数从右往左入栈),然后是函数的局部变量。静...
分类:
其他好文 时间:
2014-07-18 17:23:21
阅读次数:
190
一、文字常量区域
#include
int main()
{
char *p = "hello";
int i = 0;
for(i = 0;i<6;i++)
{
printf("%c",*(p+i));
}
*p = '1';
}
大家分析验证以上代码,p 是一个指针变量,存储地址,“hello”是一个字符串占6个字节,当我们用printf的时候能够输出"hello...
分类:
其他好文 时间:
2014-06-22 09:32:20
阅读次数:
200