implicitly declaring function'malloc'with type void*(unsigned long) 오류 해결

1323 단어
errror :   implicitly declaring function 'malloc' with type void *(unsigned long )
  • Be sure to include the correct header file.
    #include 
    
  • Casting the return is allowed but frowned upon in C as being unnecessary.
    double* sequence = malloc(...);
    
  • Consider the follow style as its easier to maintain and IMO, less error prone.
    double* sequence = malloc(numInSeq * sizeof(* sequence));
    
  • 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);
    
  • Check the result.
    if (sequence == NULL) Handle_OutOfMemory();
    
  • Eventually, free the pointer. It is OK to free the pointer even if it has a  NULL  value.
    free(sequence);
    
  • 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

    좋은 웹페이지 즐겨찾기