fork скачать
  1. #include <iostream>
  2. #include <cstring>
  3.  
  4. using namespace std;
  5.  
  6. struct mynode{
  7. //some data
  8. mynode *left , *right;
  9. mynode(): left(NULL), right(NULL) {}; // Method 1
  10. };
  11.  
  12. int main(int argc, char* argv[])
  13. {
  14. int n = 5;
  15. int m = 10;
  16. mynode** p = new mynode*[n]; // Heap memory
  17.  
  18. // Or memset(p, (int)NULL, n * sizeof(mynode*));
  19. for(int i = 0; i < n; ++i)
  20. {
  21. p[i] = NULL;
  22. }
  23.  
  24. for(int i = 0; i < n; ++i)
  25. {
  26. p[i] = new mynode[m]; // Heap memory
  27. memset(p[i], (int)NULL, m * sizeof(mynode));// Method 2, include <cstring> or <string.h>
  28. printf("left=%p, right=%p\n", p[i][0].left, p[i][0].right);
  29. // p[i] = &n; // This case don't use delete [] p[i]. (Pointer to a variable)
  30. }
  31.  
  32. /*** do something ***/
  33.  
  34. for(int i = 0; i < n; ++i)
  35. {
  36. delete [] p[i];
  37. }
  38. delete [] p;
  39.  
  40. return 0;
  41. }
Успешно #stdin #stdout 0s 3272KB
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)