zoukankan      html  css  js  c++  java
  • implicitly declaring function 'malloc' with type void *(unsigned long ) 错误 解决

       errror :   implicitly declaring function 'malloc' with type void *(unsigned long )

    1. Be sure to include the correct header file.

      #include <stdlib.h>
      
    2. Casting the return is allowed but frowned upon in C as being unnecessary.

      double* sequence = malloc(...);
      
    3. Consider the follow style as its easier to maintain and IMO, less error prone.

      double* sequence = malloc(numInSeq * sizeof(* sequence));
      
    4. Remember the argument type is size_t may differ in size than int.  size_t is the unsigned integer type of the result of the sizeof operator.

      void *malloc(size_t size);
      
    5. Check the result.

      if (sequence == NULL) Handle_OutOfMemory();
      
    6. Eventually, free the pointer. It is OK to free the pointer even if it has a NULL value.

      free(sequence);
      
    7. If there is a chance sequence will get used agian, best to promptly set its value to NULL.

      free(sequence);
      sequence = NULL;
      
     
  • 相关阅读:
    JAVA-基础-接口
    JAVA-基础-抽象类
    JAVA-基础-多态
    JAVA-基础-继承
    JAVA-基础-封装
    JAVA-基础-面向对象
    JAVA-基础-ArrayList集合
    CenOS 6.5下 mysql自动备份
    Cenos 6.5上的subverion的yum配置笔记
    [CF628D]Magic Numbers 题解
  • 原文地址:https://www.cnblogs.com/lan1x/p/5485705.html
Copyright © 2011-2022 走看看