malloc、free与对象生命周期
约 38 分钟
来源证据
本课按来源课程 26考研王道计算机【C语言督学营】 的 159 个JSON文件名做主题归并,仅使用目录与文件名,不读取或复制转写正文。归并桶:malloc/堆栈差异文件名归并。
另有“王道408领学班|26考研计算机王牌课”的唯一文件名明确提出先学C语言,它只作为路线先修映射证据。
408先修核心
malloc返回未初始化存储,需检查失败并按字节数申请;成功申请必须由唯一清晰所有者释放一次。free后指针成为悬空指针。
可执行步骤
申请数组使用元素数×sizeof元素;错误路径也释放资源;释放后把不再使用的拥有者指针置空,但置空不能修复其他别名。
随课应用
假设int占4字节,为12个int申请连续空间至少需要多少字节?
边界检查
- 必须做到:动态数组容量计算应使用sizeof *p,避免类型修改后字节数失配。
- 典型错误:free同一地址两次可以确保内存彻底释放。
完成应用后必须做单选和多选。代码题需通过全部独立测试,禁止硬编码样例。
Practice
本课练习
先独立作答再提交;编程题会在隔离沙箱中真实编译、运行并对拍。