内存分配函数

内存分配包括
静态分配:编译时确定内存大小,不一定在编译时分配,比如:局部变量放在栈里.
动态分配:在编译时不知道内存多大,在运行时动态分配。
1.malloc函数
原型:void *malloc(size_t  n)
n是分配内存的大小,返回分配内存块的首地址,分配失败,返回NULL.内存是由OS分配的。
返回类型void *是指经过强制转换可以赋值给任何类型。
2.free函数
原型:void free(void * p)
p是malloc申请的动态内存首地址,是不能改变的,malloc与free成对使用,不能少用,防止出现内存泄露,也不能多用,free之后,p=NULL,可以防止野指针出现。

动态分配内存特点:
A.内存空间大小可以是一个变量,其值在运行时确定。
B.内存空间在运行时分配,在程序结束时回收,内存分配由OS参与完成
C.动态分配的内存空间在未释放之前均可以被引用,保证其生命期.

内存分配函数类似的还有calloc  ,realloc(参数里的*p,一定是malloc,calloc,realloc之一得到的地址)
<script>window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"","bdMini":"2","bdMiniList":false,"bdPic":"","bdStyle":"0","bdSize":"16"},"share":{}};with(document)0[(getElementsByTagName('head')[0]||body).appendChild(createElement('script')).src='http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion='+~(-new Date()/36e5)];</script>
阅读(800) | 评论(0) | 转发(1) |
0

上一篇:标准I/O操作函数

下一篇:ubuntu10.04源

给主人留下些什么吧!~~
评论热议
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值