c语言返回上一步_嵌入式Linux开发《C语言专题(五:(3)实用的内存函数6)》

d38256b46097e8979a4a28726bb324fa.png

在文章嵌入式Linux开发《C语言专题(五:(3)实用的内存函数4)》嵌入式Linux开发《C语言专题(五:(3)实用的内存函数5)》中对C语言中内存操作函数做了部分介绍。最后留了与malloc&free有关的几个问题,这篇文章将用代码和结果来分析这些问题,如下所示:

1)malloc(0)真的是申请0空间吗?malloc(100)呢?

2)malloc 多次free 1次 或者malloc 1次 free多次?

3)没有检查内存分配是否成功?

4)使用申请的动态内存时超出了申请的内存边界?

5)释放一部分内存空间?

6)试图访问已经释放的内存?

768e9eac1af855e9259b15ed8e2dd0d7.png

(1)malloc(0)真的是申请0空间吗?malloc(100)呢?

代码演示:#include //一定要加上操作头文件#include  #define NUMBER 4//演示malloc(0)和malloc(100)int main(int argc, char** argv){int i = 0;int *p = NULL;//第一步:申请内存空间p = (int *)malloc(0); //p = (int *)malloc(100);//第二步:检查返回值if(NULL == p){printf("申请内存空间出错");//如果出错,退出整个进程exit(-1); }printf("申请的地址为 = %p 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值