成都网站建设设计

将想法与焦点和您一起共享

内存分区-创新互联

1.栈内存分区

局部变量

在相城等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供做网站、成都网站设计 网站设计制作按需开发,公司网站建设,企业网站建设,品牌网站设计,成都营销网站建设,外贸网站制作,相城网站建设费用合理。

2.堆

程序运行时动态申请的空间

3.BSS段

未初始化的全局变量和静态变量

4.数据段

完成初始化的全局变量和静态变量,一级常量字符串,所以数据段又称为静态区

5.代码段

程序运行代码所占用的空间

常见的动态分配内存分配函数

C语言中提供了三个动态分配内存的函数:malloc、calloc 和 realloc 1.malloc 它的使用方法 void * malloc(unsigned size) ,传入一个无符号的长度,其中size是指分配内存的字节 void *malloc(unsigned size),包含在库函数中,作用是在内存的堆区分配一个大小为size的连续空间,如果分配内存成功,函数返回新分配内存的首地址,否则,返回NULL 注意:鉴于以上这点,所以一般写程序的时候需要判断分配内存是否成功 例: int *p ; p=(int* ) malloc(sizeof(int)); if(p!=NULL) .....//需要执行的语句 else ...//打印分配内存不成功出错信息 注意: maclloc 申请的内存空间,如果我们不赋值,存放的是一些随意数(垃圾数) //所以有必要的时候可以给申请的空间进行初始化 memset(p,48,16); 2.calloc 分配指定快数和长度的内存空间 格式: calloc(快数,长度); //他们的地址也是连续的 注意: calloc 是会自动帮我们初始化为0的 3.realloc 可以给已经存在的空间扩充大小 格式:realloc(void*,size_t); p=realloc(p,40*sizeof(int));

C中解决内存泄露问题

使用free(要释放的空间的首地址) free(p);
//free(p)以后,p是一个野指针
p=NULL;才可以
标题名称:内存分区-创新互联
网页URL:http://chengdu.cdxwcx.cn/article/jdipe.html