c内存分配:c/c++程序的内存分配



我们都知道c/c内存分配有这样几个存储区

全局/静态数据区:存储全局变量和静态变量声明变量

常量存储区:存储常量如char *s=\"abcde\"; 或者 const  i =10;代码区:这个不说了代码放地儿

栈:临时变量参数等有大小限制vc6/7: 1M

堆: 用户自己维护空间内存使用需要自己申请自己释放大小基本不限(4G)

example:

# <iostream>
using  std;

 global = 100;  //全局/静态区
const  N = 10;  //常量区

 
{
   a = 0; //全局/静态区

char arr[100]=\"test\";//arr分配在栈上\"test\"分配到常量区还有个副本在栈上


 char *s = \"abcde\";//s分配在栈上\"abcde\"分配在常量区
 char*str = NULL;  //str分配在栈上
 
 str =  char[10];//str所指向空间分配在堆上
 delete str;

  0;
}

Tags:  内存分配 内存分配访问无效 c语言内存分配 c内存分配

延伸阅读

最新评论

发表评论