跳到正文
C++ 入门

malloc、free与对象生命周期

38 分钟

来源证据

本课按来源课程 26考研王道计算机【C语言督学营】 的 159 个JSON文件名做主题归并,仅使用目录与文件名,不读取或复制转写正文。归并桶:malloc/堆栈差异文件名归并

另有“王道408领学班|26考研计算机王牌课”的唯一文件名明确提出先学C语言,它只作为路线先修映射证据。

408先修核心

malloc返回未初始化存储,需检查失败并按字节数申请;成功申请必须由唯一清晰所有者释放一次。free后指针成为悬空指针。

可执行步骤

申请数组使用元素数×sizeof元素;错误路径也释放资源;释放后把不再使用的拥有者指针置空,但置空不能修复其他别名。

随课应用

假设int占4字节,为12个int申请连续空间至少需要多少字节?

边界检查

  • 必须做到:动态数组容量计算应使用sizeof *p,避免类型修改后字节数失配。
  • 典型错误:free同一地址两次可以确保内存彻底释放。

完成应用后必须做单选和多选。代码题需通过全部独立测试,禁止硬编码样例。

Practice

本课练习

3

先独立作答再提交;编程题会在隔离沙箱中真实编译、运行并对拍。

1先修单选:malloc、free与对象生命周期 4

以下哪项严格正确?

登录 后答题可以领小红花
2先修多选:malloc、free与对象生命周期 4

哪些要求不可省略?(选两项)

多选题:必须选全正确项,漏选或多选均不得分。

登录 后答题可以领小红花
3先修应用:malloc、free与对象生命周期 4

假设int占4字节,为12个int申请连续空间至少需要多少字节?

登录 后答题可以领小红花