
C/C++动态分配内存
发布日期:2021-05-09 00:16:45
浏览次数:14
分类:博客文章
本文共 600 字,大约阅读时间需要 2 分钟。
C:malloc和calloc来分配内存:
malloc函数原型
void *malloc(unsigned int size)
首先这是一个void 指针函数返回的是一个指向不定的指针,所以在调用这个函数的时候需要强转化为需要的指针类型。然后再在里面添加所需要开辟的空间大小
例子:
1 int * PI = NULL;2 3 PI = (int *)malloc(sizeof(int));
calloc和malloc差不多,区别就是将大小划分了一下
void *calloc(unsigned int num,unsigned int size);
第一个参数表示要分配的个数,第二个参数表示每个个数的内存大小
一般推荐使用calloc因为calloc可以将分配好了的初始化为0更加安全
删除分配的内存:
free函数来处理
void *free(void *p)
只需要把需要释放的内存放进free中就行了。
重新分配内存:realloc()
void *realloc(void *p,unsigned int size);
作用是修改大小size,但是返回的是新分配的存储空间首地址,和原来的不一定相同。且只能通过指针变量引导,一旦指针指向修改,数据和内存就丢失 了。
C++:
采用new来打包处理
例子:int *a = new int(10);
删除时直接
delete a;就行了
发表评论
最新留言
能坚持,总会有不一样的收获!
[***.219.124.196]2025年04月04日 12时13分12秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
【故障公告】升级阿里云 RDS SQL Server 实例故障经过
2021-05-09
蹒跚来迟:新版博客后台上线公测
2021-05-09
上周热点回顾(9.16-9.22)
2021-05-09
上周热点回顾(11.4-11.10)
2021-05-09
[网站公告]11月26日00:00-04:00阿里云RDS升级
2021-05-09
[网站公告]又拍云API故障造成图片无法上传(已恢复)
2021-05-09
上周热点回顾(12.16-12.22)
2021-05-09
云计算之路-阿里云上:对“黑色30秒”问题的猜想
2021-05-09
云计算之路-阿里云上:“黑色30秒”走了,“黑色1秒”来了,真相也许大白了
2021-05-09
云计算之路-阿里云上:奇怪的CPU 100%问题
2021-05-09
云计算之路-阿里云上:2014年6月12日12点IIS请求到达量突降
2021-05-09
上周热点回顾(6.9-6.15)
2021-05-09
上周热点回顾(6.16-6.22)
2021-05-09
上周热点回顾(6.23-6.29)
2021-05-09
上周热点回顾(10.20-10.26)
2021-05-09
上周热点回顾(2.16-2.22)
2021-05-09
上周热点回顾(3.2-3.8)
2021-05-09
.NET跨平台之旅:借助ASP.NET 5 Beta5的新特性显示CLR与操作系统信息
2021-05-09
上周热点回顾(7.27-8.2)
2021-05-09
上周热点回顾(9.28-10.4)
2021-05-09