内存动态分配与释放

内存的动态分配需要使用函数malloc,函数free和运算符sizeof来实现。函数malloc的原型是:

Void* malloc(unsigned int size);

函数malloc的作用是在内存中分配一个长度为size的连续存储空间。函数的返回值是一个指向分配空间的起始位置的指针。如果分配空间失败,则返回NULL。如果要为类型为struct node的结构体分配一块内存空间。可以使用以下语句来实现:

p=(struct node*)malloc(sizeof(struct node));

其中 ,sizeof(struct node)是计算结构体类型需要占用的字节数,struct node*是把函数的返回值类型void*转换为指向结构体指针类型。如果分配成功,把该内存区域的起始地址返回给指针p。 

函数free的原型是:

void free(void *p);

函数free的作用是释放p指向的内存空间。如果要释放刚才申请的空间,可以使用以下语句来实现:

free(p);

注意:函数malloc和free一般成对使用,在使用完内存空间时,要记得用free将内存空间释放。使用函数malloc时,最好要测试是否分配成功。已经释放掉的内存不可以重新使用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值