前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >基础知识 | 每日一练(77)

基础知识 | 每日一练(77)

作者头像
小林C语言
发布2019-08-12 19:34:16
3370
发布2019-08-12 19:34:16
举报

基础知识练习

士人有百折不回之真心,才有万变不穷之妙用。立业建功,事事要从实地着脚,若少慕声闻,便成伪果;讲道修德,念念要从虚处立基,若稍计功效,便落尘情。 ——菜根谭

学生:我的 PC 有 8 兆内存。为什么我只能分配 640K 左右的内存?

小林:在 PC 兼容的分段结构下, 很难透明地分配超过 640K 的内存, 尤其是在 MS-DOS 下。

学生:我的程序总是崩溃, 显然在 malloc 内部的某个地方。但是我看不 出哪里有问题。是 malloc() 有 bug 吗?

小林:很不幸, malloc 的内部数据结构很容易被破坏, 而由此引发的问题会十分棘 手。最常见的问题来源是向 malloc 分配的区域写入比所分配的还多的数据; 一个 常见的 bug 是用 malloc(strlen(s)) 而不是 strlen(s) + 1。其它的问题还包括使用 指向已经释放了的内存的指针, 释放未从 malloc 获得的内存, 或者两次释放同一 个指针, 或者试图重分配空指针

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-08-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 C语言入门到精通 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档