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 
    
  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;
    
 

转载于:https://www.cnblogs.com/lan1x/p/5485705.html

你可能感兴趣的:(implicitly declaring function 'malloc' with type void *(unsigned long ) 错误 解决)