C 语言最大难点揭秘[2]

发表于:2008-04-25来源:作者:点击数: 标签:难点揭秘语言
关键字:c++清单 2. 来自资源错误管理的潜在堆内存丢失
               
 int getkey(char *filename)
 {
     FILE *fp;
     int key;

     fp = fopen(filename, "r");
     fscanf(fp, "%d", &key);
     return key;
        }
   


  fopen 的语义需要补充性的 fclose。在没有 fclose() 的情况下,C 标准不能指定发生的情况时,很可能是内存泄漏。其他资源(如信号量、网络句柄、数据库连接等)同样值得考虑。

  内存错误分配

原文转自:http://www.ltesting.net