Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- int fun1(void *p);
- int fun2(void *p);
- int main(int argc, char **argv)
- {
- char **p;
- fun1(&p);
- fun2(&p);
- return 0;
- }
- int fun1(void *p)
- {
- void ***ptr = (void***)p;
- *ptr = (void**)malloc(sizeof(char *)*2);
- (*ptr)[1] = (void*)malloc(sizeof(char)*44);
- (*ptr)[0] = (void*)malloc(sizeof(char)*54);
- printf("***********************************************\n");
- printf("%p\t%p\t%p\n", *ptr, (*ptr)[0], (*ptr)[1]);
- printf("***********************************************\n");
- return 0;
- }
- int fun2(void *p)
- {
- void ***ptr = (void***)p;
- printf("%p\t%p\t%p\n", *ptr, (*ptr)[0], (*ptr)[1]);
- free((*ptr)[1]);
- free((*ptr)[0]);
- free(*ptr);
- printf("%p", (*ptr)[0]);
- ptr = NULL;
- }
Add Comment
Please, Sign In to add comment