malloc()和free()注意点

2023-05-16

1.调用free()释放内存后,不能再去访问被释放的内存空间。该段内存被释放后,很有可能该指针仍然指向该内存单元,但这块内存已经不属于原来的应用程序,此时的指针为悬挂指针(可以赋为NULL),有些时候,为安全起见,将再次置该指针为空。
free(pt);
pt = NULL;
2.不能两次释放相同的指针(NULL的除外,无论对NULL指针free()多少次都不会出问题)。也不能用free()来释放非malloc(),calloc()和realloc()函数创建的指针空间。
3.在进行C语言程序开发中,malloc和free是配套使用的,即不需要的内存空间都需要释放回收。
4.在本人学习过程中发现一个问题:
如果使用:int * array = (int *)malloc(10 * sizeof(int));
for (count=0; count<10; count++)
{
*array = count;
array++;
}
然后: free(array);
会报错。但当把指针重置为首地址时,再free(array)-->成功!
这是不是表示,向free()函数传递的参数是不是必须是段内存的首地址?答案:是的!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

malloc()和free()注意点 的相关文章

随机推荐

  • 详解大端模式和小端模式

    详解大端模式和小端模式 一 大端模式和小端模式的起源 关于大端小端名词的由来 xff0c 有一个有趣的故事 xff0c 来自于Jonathan Swift的 格利佛游记 xff1a Lilliput和Blefuscu这两个强国在过去的36个
  • 字符串连接(c语言实现)

    起因 今天九度刷题的时候 xff0c 发现一个不调用任何c的库函数实现字符串拼接的代码很多人写的过于复杂 xff0c 链表都用上了 xff0c 真的不至于 xff0c 只要知道字符串的最后截止符是 39 0 39 题目描述 xff1a 不借
  • STL里list、vector、queue性能差异与疑似内存泄漏问题

    最近在项目中debug退出后 xff0c VS的Output面板会输出大量内存泄漏的信息 经过排查 xff0c 居然发现是使用了std list的原因 xff01 然而通过MSDN上一些前辈的讨论 xff0c 得知List并没有真正导致内存
  • malloc/free 的使用要点

    函数malloc的原型如下 xff1a void malloc size t size 用malloc申请一块长度为length的整数类型的内存 xff0c 程序如下 xff1a int p 61 int malloc sizeof int
  • 游戏中用户点击不可达地点引起寻路循环,游戏停顿问题解决

    游戏中用户点击不可达地点引起寻路循环 xff0c 游戏停顿问题解决 通常我们在游戏中通过寻路算法来找到用户点击的地点 xff0c 再根据目标地点来进行寻路 当用户点击 一个不可到达的地点时候 xff0c 游戏会出现突然停顿现象 如上图中的X
  • Android 驱动和系统开发 2. 解析模拟器GPS模块 (原创)

    好久没有写技术博客了 xff0c 恰逢今天还感冒了 xff0c 这破天气 xff0c 晚上凉风一吹 xff0c 就感冒了 xff0c 要加强锻炼呀 好了 xff0c 废话不多说 xff0c 由于工作需要 xff0c 我要移植一个虚拟的gps
  • QoS的基本原理

    QoS的基本原理 作者 xff1a 上传时间 xff1a 2011 04 22 关键字 xff1a 网络大爬虫4 QoS专题 文 胡国华 1 前言 QoS xff08 Quality of Service xff09 是服务质量的简称 对于
  • Java 两个数相除,只要有小数就入一位,不舍去,即为向上去整

    向上取整用Math ceil double a 向下取整用Math floor double a 例如 xff1a System out println Math ceil 1 21 System out println Math ceil
  • NAT的双机热备方案

    一般的NAT组网中 xff0c 内网用户通过单台设备进行NAT转换访问外网 xff0c NAT设备承担了所有内外网之间的流量 xff0c 无法规避单点故障 一旦发生单点故障 xff0c 将导致内网用户无法与外网通信 随着用户对网络可靠性的要
  • 《Java TCP/IP Socket 编程 》读书笔记之十二:各章节要点

    转载请注明出处 xff1a http blog csdn net ns code article details 16118955 T CP IPSocketsinjava读书笔记 第1章 xff1a 简介 1 协议相当于相互通信的程序间达
  • 给同校大一IT新生的建议

    在论坛上看到同学院的学弟问的 xff0c 就回答了一下 打的字挺多的 xff0c 所以就发到博客上了 原文是这样子的 xff1a 我上大一 xff0c 西安二本里垫底的大学 在学校C语言学一学期感觉啥也没学到 想补补自己的编程技术 xff0
  • mysql 让空值用0补充的函数IFNULL(a,0)

    记录 xff0c 防止遗忘 xff01 sql如下 xff1a SELECT IFNULL SELECT sum EO using value FROM cq energy other as eo WHERE eo EO type 61 e
  • 解决SQLite中的 database is locked

    前些时候 xff0c 同事在站点服务端使用SQlite存储一些临时数据 xff0c 但是在多人并发的时候Sqlite会抛出异常 xff1a The database file is locked database is locked xff
  • 引用的一些规则

    引用 xff1a int amp n 61 m n相当于m的别名 xff08 绰号 xff09 xff0c 对n任何操作就是对m的操作 xff0c n既不是m的拷贝 xff0c 也不是m的指针 xff0c 其实n就是m它自己 引用的一些规则
  • photoshop中制作法线贴图

  • java统计文本中某个字符串出现的次数

    原文 xff1a java统计文本中某个字符串出现的次数源代码下载地址 xff1a http www zuidaima com share 1550463297014784 htm 统计文本中某个字符串出现的次数或字符串中指定元素出现的次数
  • GitHub上最火的Android开源项目

    摘要 xff1a 截至目前 xff0c 在GitHub 最受欢迎的开源项目 系列文章中我们已介绍了40个Android开源项目 xff0c 对于如此众多的项目 xff0c 你是Mark 和码友分享经验还是慨叹 活到老要学到老 xff1f 今
  • Android 自定义类库打包jar! 谁说不可以打包res 文件?

    我们经常会有这种需求 xff0c 自己开发一个类库jar包 xff0c 提供给别人调用 网上很多教程都是这么说 xff1a 创建一个Android project 用eclipse 的export 导出 xff0c 去掉AndroidMan
  • Android WebView开发问题及优化汇总

    我们在native与网页相结合开发的过程中 xff0c 难免会遇到关于WebView一些共通的问题 就我目前开发过程中遇到的问题以及最后得到的优化方案都将在这里列举出来 有些是老生常谈 xff0c 有些则是个人摸索得出解决方法 下面就是整理
  • malloc()和free()注意点

    1 调用free 释放内存后 xff0c 不能再去访问被释放的内存空间 该段内存被释放后 xff0c 很有可能该指针仍然指向该内存单元 xff0c 但这块内存已经不属于原来的应用程序 xff0c 此时的指针为悬挂指针 xff08 可以赋为N