Advertisement
radchukd

Untitled

Apr 15th, 2018
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.17 KB | None | 0 0
  1. void **allocateArray(size_t nmemb, size_t *membsize) {
  2.   void *array;                                        
  3.   unsigned long **arr;                                
  4.                                                      
  5.   array = calloc(nmemb, sizeof(void*));              
  6.   if( !array ) {                                      
  7.     perror("malloc: ");                              
  8.     return NULL;                                      
  9.   }                                                  
  10.   arr = (unsigned long**)array;                      
  11.                                                      
  12.   for(int i = 0; i < nmemb; ++i) {                    
  13.     arr[i] = malloc(membsize[i]);                    
  14.     if( !arr[i] ) {                                  
  15.       perror("malloc: ");                            
  16.       return NULL;                                    
  17.     }                                                
  18.                                                      
  19.     memset(arr[i], 0, membsize[i]);                  
  20.   }                                                  
  21.   return (void**)array;                              
  22. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement