动态分配内存与释放

1.malloc

malloc()可以找到一个大小合适的块。

内存是匿名的,也就是说,malloc()分配了内存,但没有为它指定名字。

格式如下:

double*ptd;

ptd=(double*)malloc(30*sizeof(double));

ps:ptd可以看成是一个数组。

malloc()可能分配不到所需的内存。在这种情况下,该函数返回空指针。

在C中,不一定要使用强制转换(double*),但C++中必须使用。所以,使用强制转换更容易

把C程序转换为C++程序。

2.free()

free()的参数应该是指针,指向由malloc()和calloc()分配的内存块。

格式如下:

free(ptd); (ptd为指针)

3.calloc()

long*ptd;

ptd=(long*)calloc(100,sizeof(long));

calloc()与malloc()几乎相同,主要区别是:malloc不初始化分配的内存,calloc()初始化

已分配的内存为0。

相关推荐
Ivanqhz5 分钟前
图是“拓扑 + 类型 + 形状“的世界
算法·决策树·机器学习·php·集成学习
find1star16 分钟前
LeetCode 54:螺旋矩阵——用四个边界模拟矩阵收缩
java·算法·leetcode·边缘计算·学习方法
z_mazin29 分钟前
逆向一种私有二进制序列化格式:从零到字节级解析器
网络·python·网络协议·算法·rpc
luj_176829 分钟前
罚球线右移破防新策略
c语言·开发语言·网络·经验分享·算法
vivo互联网技术31 分钟前
SmartPhotoCrafter: 先思考后修图,统一理解-生成的图像优化新范式
人工智能·算法·计算机视觉
吞下星星的少年·-·1 小时前
LeetCode 热题 100 两数之和(哈希表)
算法·leetcode·哈希算法
Shan12051 小时前
经典算法题示例与详解:飞地的数量(二)
java·数据结构·算法
土司大王1 小时前
LeetCode hot100——全排列
java·算法·leetcode
尾善爱看海1 小时前
前端面试算法手撕全解(高频真题+标准答案)
算法·js
203号居民2 小时前
LeetCode hot 100 — 138. 随机链表的复制
算法·leetcode·链表