理解free(p)

先给段代码,你看看是否出错

这段代码出现了错误,即内存出错。原因是对于free(p)的理解,首先,地址是不可能被删掉的,这里的free是指,你已经失去对这块内存的控制,系统可以拿来做别的事,但是此时的p里面的内容并未被清除,所以之前的数据还在,所以p此时指向的并未是空的。

应该为


©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,156评论 1 32
  • ORA-00001: 违反唯一约束条件 (.) 错误说明:当在唯一索引所对应的列上键入重复值时,会触发此异常。 O...
    我想起个好名字阅读 5,459评论 0 9
  • 内存分类 在C++中,内存分成5个区,他们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。 栈:在执行函数...
    码哥说阅读 518评论 0 3
  • 亲爱的YN,感谢你让我聆听你的生命故事,让我有更好的成长机会。在今后的人生中不会去预支人生的痛苦,...
    張夏阅读 153评论 0 0
  • 故里田园。紫燕飞斜。看时光,春意何华。几分景色,落与谁家。许一分山,一分水,一分花。 雨淫檐瓦,风侵窗幔,恨年来,...
    林野轻风阅读 239评论 0 3