这样一段代码

#include<stdio.h>
int main(){int *p;p = NULL;free(p);printf("test\n");return 0;
}

最后可以使用gcc编译成功并且输出结果是:

test
为什么free一个空指针没有报错,反而可以顺利运行到输出语句?

  • The free() function frees the memory space pointed to by ptr, which
    must have been returned by a previous call to malloc(), calloc() or
    realloc(). Otherwise, or if free(ptr) has already been called before,
    undefined behavior occurs. If ptr is NULL, no operation is performed.

C的free的参数是空指针的问题相关推荐

  1. C和C++安全编码笔记:格式化输出

    C标准中定义了一些可以接受可变数量参数的格式化输出参数,参数中包括一个格式字符串.printf()和sprintf()都是格式化输出函数的例子.格式化输出函数是由一个格式字符串和可变数目的参数构成的. ...

  2. APUE(第八章)进程控制

    进程标识 每个进程都有一个非负整型表示的唯一ID. 由于进程ID总是唯一的,可将其用作其他标识符保证唯一性,比如用进程ID作为名字的一部分创建一个唯一的文件名 进程ID是唯一的但是可以复用.当一个进程 ...

  3. java socket编程 select_windows socket编程select模型使用

    int select( int nfds,            //忽略 fd_ser* readfds,    //指向一个套接字集合,用来检测其可读性 fd_set* writefds,   / ...

  4. APUE-文件和目录(八)文件时间

    文件的时间 与文件相关的三个时间值: 访问时间:最后一次访问文件的时间.例如,cat命令会修改这个时间. 修改时间:文件内容最后一次被修改的时间. 状态更改时间:文件的i节点最后一次被修改的时间.例如 ...

  5. 提权函数之RtlAdjustPrivilege()

    RtlAdjustPrivilege() 这玩意是在 NTDLL.DLL 里的一个不为人知的函数,MS没有公开,原因就是这玩意实在是太NB了,以至于不需要任何其他函数的帮助,仅凭这一个函数就可以获得进 ...

  6. Linux C编程--进程介绍7--综合应用实例

    第一个实例重点说明fork和exec系统函数 该实例是一个交互式命令处理程序,它能完成Linux系统标准Shell的小部分功能,具体功能如下所述: 1.提交命令的参数最多为8个 2.可前,后台执行 3 ...

  7. wxWidgets学习 (1) -- Hello World 详解

    wxWidgets 是一个跨平台的 C++ GUI 框架,和 qt 其实是一类东西. 简单介绍一下wxWidgets的优点: 一.原生界面 wx 不像 java swing 这样,在所有平台都使用相同 ...

  8. UNIX再学习 -- exec 函数族

    我们在讲,文件I/O的时候,简单提到过 exec 函数,讲到 vfork 的时候,也有用到.下面我们来详细介绍下它. 参看:UNIX再学习 -- 文件I/O  参看:UNIX再学习 -- 函数 for ...

  9. vmlinux 反汇编_ARM Linux内核驱动异常定位方法分析--反汇编方式

    通常认为,产生异常的地址是lr寄存器的值,从上面的异常信息可以看到[lr]的值是c01a4e30. 接下来,我们可以通过内核镜像文件反汇编来找到这个地址.内核编译完成后,会在内核代码根目录下生成vml ...

最新文章

  1. Atitit 发帖机系列(7) 词法分析的方法attilax大总结)
  2. 10种增强脑力的办法
  3. IBatis.Net学习笔记十三:在IBatis.Net中调用存储过程
  4. CGLib 和JDK 动态代理对比
  5. 哥大计算机专业 世界排名,哥伦比亚大学计算机科学硕士排名第16(2020年TFE Times排名)...
  6. java getpathinfo_request.getServletPath()和request.getPathInfo()用法
  7. 一个C++的ElasticSearch Client
  8. 【汇编语言与计算机系统结构笔记10】C语言数组的汇编访问:连续存储、代码优化、无边界检查;结构对齐要求 #简洁笔记形式
  9. Reactive MySQL Client
  10. 首届!「中国云计算基础架构开发者大会」征稿启动
  11. php html ubb,PHP写的UBB代码转换HTML代码
  12. Hive 安装配置及下载地址
  13. PHP读dwg,dwg文件阅读器
  14. 服务器采集协议,H3C设备服务器采集参数认证过程(包含redfish和restfull协议)
  15. jpg、jpeg、png... 的区别
  16. C#50个经典小程序代码
  17. 微信公众号文章素材收集网站大盘点
  18. 【笔记】2017电信大数据普惠金融应用案例
  19. SAP CO TCode
  20. 第二届邯郸钢铁展会,图扑软件荣获“2022钢铁行业智造之星奖”

热门文章

  1. xcode 使用xparse,xccov解析xcresult文件,查看代码覆盖率,导出日志,提取附件等
  2. 实施日志流处理分析_通过实施了解流
  3. win10xp化折腾指南
  4. Java-根据IP统计访问次数
  5. 10余年软件开发与系统架构经验,一起聊聊软件开发技术、系统架构技术、以及程序员最真实可行的职场打怪技能,代码之外的生存软技能。
  6. 基于weixin-java-tools集成微信小程序支付功能
  7. Webpack的使用
  8. 【Autogluon】傻瓜式深度学习框架
  9. 06 MySQL数据库--查询语句学习笔记
  10. php post发微博,php结合redis实现高并发下发帖、发微博的方法