Guest User

Untitled

a guest
Apr 24th, 2018
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.80 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int fun1(void *p);
  5. int fun2(void *p);
  6.  
  7. int main(int argc, char **argv)
  8. {
  9. char **p;
  10. fun1(&p);
  11.  
  12. fun2(&p);
  13. return 0;
  14. }
  15.  
  16.  
  17. int fun1(void *p)
  18. {
  19. void ***ptr = (void***)p;
  20. *ptr = (void**)malloc(sizeof(char *)*2);
  21. (*ptr)[1] = (void*)malloc(sizeof(char)*44);
  22. (*ptr)[0] = (void*)malloc(sizeof(char)*54);
  23. printf("***********************************************\n");
  24. printf("%p\t%p\t%p\n", *ptr, (*ptr)[0], (*ptr)[1]);
  25. printf("***********************************************\n");
  26.  
  27. return 0;
  28. }
  29.  
  30. int fun2(void *p)
  31. {
  32. void ***ptr = (void***)p;
  33. printf("%p\t%p\t%p\n", *ptr, (*ptr)[0], (*ptr)[1]);
  34.  
  35. free((*ptr)[1]);
  36. free((*ptr)[0]);
  37. free(*ptr);
  38. printf("%p", (*ptr)[0]);
  39. ptr = NULL;
  40. }
Add Comment
Please, Sign In to add comment