动态分配内存与释放

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。

相关推荐
Tairitsu_H35 分钟前
[LC优选算法#17] 链表 | 合并 K 个升序链表 | K个⼀组翻转链表
数据结构·算法·链表
_olone38 分钟前
Luogu P2704 [NOI2001] 炮兵阵地
c++·算法·状压dp
kebidaixu1 小时前
两轮BMS 防打火策略详解
算法
wabs6662 小时前
关于动态规划【力扣1035.不相交的线和53.最大子数组和的思考】
算法·leetcode·动态规划
退休倒计时2 小时前
【每日一题】LeetCode 199. 二叉树的右视图 TypeScript
算法·leetcode·typescript
可编程芯片开发2 小时前
通过MATLAB实现PID控制器,积分分离控制器以及滑模控制器
算法
kebidaixu3 小时前
两轮BMS 短路保护策略详解
算法
zwenqiyu3 小时前
非线性字符串数据结构串讲
数据结构·c++·学习·算法
z小猫不吃鱼3 小时前
03 Optimal Brain Surgeon 详解:Hessian 剪枝为什么有效?
算法·机器学习·剪枝
硕风和炜3 小时前
【LeetCode: 1301. 最大得分的路径数目 + DP】
java·算法·leetcode·动态规划·dp·记忆化搜索