如何正确理解c语言free(NULL)

 时间:2024-10-13 21:43:28

1、通常的做法,我们在释放内存指针之前,都会先判断指针是否为NULL。如果不为NULL,则再调用free。如下是一个常见的例子:

如何正确理解c语言free(NULL)

3、所以释放指针之前可以不必进行NULL判断。我们重写示例程序,并重新执行后,程序运行正常。

如何正确理解c语言free(NULL)

5、free函数还明确释放其他指针也是未定义的行为。这里的指针可能包括字符数组指针、数值指针等,所以我们在执行free之前,编写代洁船诼抨码需要明确指针为malloc,realloc,calloc返回的指针。如下示例中:有些编译器也会对这种行为提出警告!所以处理编译告警也是必要的。

如何正确理解c语言free(NULL)

6、综上,查找free函数说明文档,正确的free用法应该是: free直接释放内存申请返回的指针,在执行free函数之后对指针重新赋值为NULL。这样的效果:1. 省略指针判断,减少程序判断逻辑,甚至可以减少程序中括号嵌套层数2. 重新赋值为NULL后,可以避免重复释放

如何正确理解c语言free(NULL)
  • linux系统修改网卡名称为eth0
  • 设置eclipse显示代码错误提示的
  • jquery中怎样获得select选中的值?
  • Notepad如何将页面还原为默认的大小
  • jquery怎么获取tr下的第二个td元素
  • 热门搜索
    重庆周边旅游景点大全 旅游必备物品清单 三亚旅游攻略 华山旅游攻略 云南旅游攻略 舟山旅游 国内旅游景点大全 成都旅游攻略 绍兴旅游 天津旅游景点