初学c/c++——谈及malloc与free

刚接触c时,定义数组大小一直都是凭感觉,因为宁多勿少,不知内存的分毫珍贵,哈哈,开玩笑。。。

由于数组长度必须为常量,所以不能用scanf临时输入,这时候,malloc可以帮我们解决窘境。
系统里有个老板,叫内存管理器,他负责管理闲置的内存,而malloc可以向这个老板借内存,用完之后再free还回去,就没事了…
例子:
malloc是在头文件”stdlib.h”里
void* p=malloc(512);//和老板借内存
free (p);      //释放,把内存还给老板
老板是不关心你拿内存干嘛的,所以返回void*

实例:
假设已经定义一个struct list,我现在要100个list,
int n= 0 ;
scanf(“%d”,&n);      //输入100
int size = n * sizeof(list);    // sizeof是计算大小的
list* p=(list*) malloc(size);
这块内存和数组没有本质区别,用法完全相同。

注意,不需要内存了,就立即free释放,还给老板(内存管理器)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值