首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
SAAS
ToB门户
了解全球最新的ToB事件
论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
微博
Follow
记录
Doing
博客
Blog
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
排行榜
Ranklist
相册
Album
应用中心
qidao123.com ToB IT社区-企服评测·应用市场
»
论坛
›
软件与程序人生
›
后端开发
›
Java
›
malloc()函数
返回列表
发新帖
malloc()函数
[复制链接]
发表于 2024-5-30 15:42:04
|
显示全部楼层
|
阅读模式
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
立即注册
×
malloc()函数
malloc是动态内存分配函数,用于申请一块连续的指定大小的内存块地区,以void*类型返回分配的内存地区地址。
函数原型
void* malloc(unsigned int num_bytes);
复制
代码
分配长度为num_bytes字节的内存块。
使用时要包罗头文件stdlib.h,也可以使用#include ,但并不建议,因为它不是标准的c库。
使用之前要盘算出字节数,malloc开发的是用户所需的字节数大小的空间。
函数返回值:分配乐成则返回被分配内存的指针,否则返回空指针NULL。
注意事项:
返回类型为无类型指针,使用时要强制转换为所需要的类型。
指针自身 = (指针类型*) malloc (sizeof(指针类型)*数据数目)
int *p = NULL;
int n = 10;
p = (int *)malloc(sizeof(int)*n);//malloc()函数中的参数以字节为单位。
//内存分配成功返回内存首地址的指针,失败返回NULL。
复制
代码
重点:
在使用malloc开发空间时,使用完成肯定要释放空间,如果不释放就会造成内存泄漏,
什么是内存泄漏
。在使用malloc函数开发的空间中,不要进行指针的移动,因为一旦移动可能出现申请的空间和释放空间大小的不匹配。
free()函数
作用:释放malloc(或calloc、realloc)函数给指针变量分配的内存空间。完了之后要把指针指向NULL。(我的明白是被分配的这块内存被“赎身”了,成了一块自由内存,但是原来的指针还指向这块地区,如果这块内存后来被分配了其他信息,但是还可以通过原来的指针来访问到,那就出了大问题,莫名想起赵德汉的“是谁把钱放到我家冰箱的?”所以需要给原来的指针指向NULL。)
回复
使用道具
举报
返回列表
浏览过的版块
Oracle
物联网
SAAS
运维.售后
云原生
公有云
linux
网络安全
张春
+ 我要发帖
登录后关闭弹窗
登录参与点评抽奖 加入IT实名职场社区
去登录
微信订阅号
微信服务号
微信客服(加群)
H5
小程序
快速回复
返回顶部
返回列表