程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 關於 free() 函數用法的若干疑問

關於 free() 函數用法的若干疑問

編輯:關於C語言

《C語言參考手冊》中關於 free() 函數有如下描述。

1)free() 函數的原型

void free(void *ptr);

2)free 函數對以前由 malloc、calloc、或 realloc 所分配的一塊內存區域進行銷毀。free 函數的參數必須是與某個內存分配函數的返回值相同的指針。如果它的參數是個 null 指針,則調用這個函數不會產生任何效果。

既然“如果它的參數是個 null 指針,則調用這個函數不會產生任何效果。”那麼為什麼一般寫成 if(ptr != NULL) free(ptr),而不是直接 free(ptr) 呢?應該不僅是一個書面方面的良好編程風格吧?!

本文出自 “businessman” 博客,請務必保留此出處http://businessman.blog.51cto.com/6260076/1297940

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved