对指针的操作严格按照这样:
 ptr  =  (struct XXXX *)malloc(num * sizeof(struct XXXX);
 ....
 free(ptr);
 ptr = NULL;
 但是往往会在free的时候发生段错误.

改一下:

// 在分配之前加一句判断指针是否为空,防止产生内存泄露
if (ptr == NULL) {
ptr  =  (struct XXXX *)malloc(num * sizeof(struct XXXX);

}

// 在释放之前加一句判断指针是否为空,防止产生异常
if (ptr != NULL) {
free(ptr);
ptr = NULL;

}

free 内存 注意点的事相关推荐

  1. 你写的ML代码占多少内存?这件事很重要,但很多人还不懂

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 作者:Tirthajyoti Sarkar 本文转载自:机器之心  ...

  2. 你写的机器学习代码占多少内存?这件事很重要,但很多人还不懂

    作者 | Tirthajyoti Sarkar 编译 | 蛋酱 来源 | 机器之心 算法完美是重要的,但更重要的是成功部署,这篇文章能够帮助你了解有关代码内存占用的一切. 在进行机器学习任务时,你需要 ...

  3. 关于升级到8G内存的那点事,8G内存够用?明确告诉你为何32位win7为何要升级到8G!

    楼下疑问统一在顶楼说明下: 1:本人工作原因接触到的软件64位不兼容,安装都没法,哦,本人从事自动化,西门子那个WINCC还有好多这个和行业的软件目前还没支持到64位WIN7,所以只能用32位的,所以 ...

  4. Linux创建线程时 内存分配的那些事

    文章目录 问题描述 问题分析 针对问题1 的猜测: 针对问题2 的猜测: 原理追踪 总结 问题描述 事情开始于一段内存问题,通过gperf工具抓取进程运行过程中的内存占用情况. 分析结果时发现一个有趣 ...

  5. 【kernel 中内存分配那点事】

    首先呢作为车载bsp开发人员,写大量的内核代码是不现实的事情,多数都是修修改改,但是要有内核代码阅读浏览理解的能力,毕竟linux kernel 还是很nb 的,所有技术人员深入研究内核代码是必须的, ...

  6. 关于释放内存的那点事

    我在linux下编写了一个简单的测试程序,编译可以通过,但是运行时报了"*** glibc detected *** free(): invalid pointer: 0x0000007fb ...

  7. 第六十四期:聊聊原子变量、锁、内存屏障那点事

    突然想聊聊这个话题,是因为知乎上的一个问题多次出现在了我的Timeline里:请问,多个线程可以读一个变量,只有一个线程可以对这个变量进行写,到底要不要加锁?可惜的是很多高票答案语焉不详,甚至有所错漏 ...

  8. 聊聊高并发(三十六)Java内存模型那些事(四)理解Happens-before规则

    在前几篇将Java内存模型的那些事基本上把这个域底层的概念都解释清楚了,聊聊高并发(三十五)Java内存模型那些事(三)理解内存屏障 这篇分析了在X86平台下,volatile,synchronize ...

  9. 2678v3支持内存频率_电脑内存别乱加,不了解这些白花钱

    随着这两年游戏的发展,及应用软件不断的升级,电脑对内存条需求是越来越大了,经常玩电脑的人都知道了内存条重要性. 在这里给大家说下你现在用的电脑是否需要新添或者增加内存,以及选择一条适合你电脑的内存 首 ...

最新文章

  1. 分布式计算的模式语言读后感
  2. matlab中读文件的行数_Matlab中读取txt文件的几种方法
  3. 云炬Android开发报错处理教程 Gradle下载超时please configure the proxy settings either in IDE or Gradle
  4. 内网通 去广告_新高一攻略|让我们一起跟升学e网通名师看看如何学好高中化学...
  5. 5gh掌上云计算认证不通过_【众志成城战疫情】法官助理告诉你“移动微法院”、“掌上法庭”有多便捷、有多硬核~!...
  6. java api操作hbase_通过JavaAPI使用HBase
  7. Strategy 策略模式
  8. CVE-2012-4792Microsoft Internet Explorer 释放后使用漏洞
  9. 遗传相似系数怎么计算_如何计算遗传变异系数
  10. java 输入怎么写_java我要怎么写如果输入6是输出是122333444455
  11. 在Paint事件中绘制控件(边框)
  12. 查看audio信息工具(十九)
  13. 51nod 1605:棋盘问题
  14. 国外ipv6服务器网站,国外 ipv6 服务器地址
  15. 钉钉小程序的坑 么有开启通讯录权限,导致后台报错“没有调用该接口的权限”
  16. 【java基础】java的官网和jdk安装和下载
  17. 南邮 OJ 2043 有才华的罗老师
  18. PSTN与VoIP相关知识
  19. 中科院成都计算机研究所李品导师,中科院成都计算机应用研究所导师介绍:李品...
  20. (筆記) 如何使用Debussy與ModelSim做Co-Simulation? (SOC) (Verilog) (VHDL) (Debussy) (ModelSim)

热门文章

  1. 【吐血推荐】领域驱动设计学习输出
  2. Vue.js 过滤器
  3. javaweb学习总结(三十一)——国际化(i18n)
  4. Java 容器集合框架概览
  5. Apriori算法简介及实现(python)
  6. 图像处理(三)图像分割(1)Random Walks分割
  7. VS2015 编译输出的*.lib,*.dll,*.exe的区别
  8. springcloud13---zuul
  9. 查看SQL SERVER数据库的连接数
  10. 印度首富要免费向全国提供4G网络3个月