fork download
  1. #include <stdio.h>
  2. #include <string.h>
  3.  
  4. typedef struct mynode{
  5. //some data
  6. struct mynode *left , *right;
  7. }mynode;
  8.  
  9. int main(int argc, char* argv[])
  10. {
  11. int i;
  12. int n = 5;
  13. int m = 10;
  14. mynode** p = (mynode**)malloc(n*sizeof(mynode*)); // Heap memory
  15.  
  16. // Or memset(p, (int)NULL, n * sizeof(mynode*));
  17. for(i = 0; i < n; ++i)
  18. {
  19. p[i] = NULL;
  20. }
  21.  
  22. for(i = 0; i < n; ++i)
  23. {
  24. p[i] = (mynode*)malloc(m*sizeof(mynode)); // Heap memory
  25. memset(p[i], (int)NULL, m * sizeof(mynode));// Method 2, include <cstring> or <string.h>
  26. printf("left=%p, right=%p\n", p[i][0].left, p[i][0].right);
  27. // p[i] = &n; // This case don't use delete [] p[i]. (Pointer to a variable)
  28. }
  29.  
  30. /*** do something ***/
  31.  
  32. for(i = 0; i < n; ++i)
  33. {
  34. free(p[i]);
  35. }
  36. free(p);
  37.  
  38. return 0;
  39. }
Success #stdin #stdout 0s 2184KB
stdin
Standard input is empty
stdout
left=(nil), right=(nil)
left=(nil), right=(nil)
left=(nil), right=(nil)
left=(nil), right=(nil)
left=(nil), right=(nil)