一般情况返回函数内动态申请的内存的方法有两种:1.函数返回值,2.函数的参数是用二重指针。
其实还有一种方法可以不用双重指针。方法如下:
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- void test(int *p)
- {
- *p = malloc(100);
- printf("p = %p \n",(void*)*p);
- }
- int main()
- {
- int p = 0;
- test(&p);
- printf("p = %p \n",(void *)p);
- return 0;
- }
用一重指针就解决问题。还可以不用指针解决问题:
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- int test()
- {
- return malloc(100);
- }
- int main()
- {
- int p = 0;
- p = test();
- printf("p = %p \n",(void *)p);
- return 0;
- }
两种方法解决二重指针的复杂度。
阅读(2780) | 评论(0) | 转发(5) |