码迷,mamicode.com
首页 > 其他好文 > 详细

动态分配内存

时间:2015-12-14 18:56:29      阅读:106      评论:0      收藏:0      [点我收藏+]

标签:

1、自动分配内存:当定义一个基本类型的变量的时候,系统会为这个变量自动分配内存,这个内存在堆上。当作用域结束,系统                 会自动讲这个内存回收。

    动态分配内存:开发人员自己向系统申请的内存空间,申请的内存位于栈上,当作用域结束之后,系统是不会自动回收内存          的,这个内存必须由开发人员自己去释放,如果不释放,就内存泄露了。

2、什么时候需要动态分配内存

 程序运行过程中,需要保存/记录相应的数据,但是有没有提前准备好内存,那么就需要临时动态分配内存。

3、使用的函数

 void  *malloc(size_t);

 size_t: 希望申请的内存空间(字节byte)

 void *:系统一开始不知道你需要存放什么数据,不同的数据需要的内存空间不一样,所以默认就是给一个void *,泛指所有指针类型(char *,int *,struct *),当在使用的时候必须将void * 转化为相应的类型。如果没有申请成功,那么返回值为NULL

4、释放内存

 用free(void *)

注意:free里面的参数必须是指针,这个指针指向的内存必须是动态分配的。

 

动态分配内存

标签:

原文地址:http://www.cnblogs.com/zhaopengs/p/5045980.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!