#include <stdio.h> #include <malloc.h> //动态内存跨函数使用 void f(int ** q) { int j = 20; printf("_______f函数里替换前输出___________\n"); printf("*q的值即*p的地址是%d\n",*q); printf("**q的值即*p的值是%d\n",**q); *q = (int * )malloc(sizeof(int)); **q = j; printf("_______f函数里替换后输出___________\n"); printf("*q的值即*p的地址是%d\n",*q); printf("**q的值即*p的值是%d\n",**q); } int main(void) { int i = 10; int * p ; p = &i; printf("_______main函数调用f函数之前的输出________\n"); printf("i的地址是%d\n",&i); printf("p的地址是%d\n",&p); printf("*p的值是%d\n",*p); printf("*p的地址是%d\n",&*p); f(&p); printf("_______main函数调用f函数之后的输出________\n"); printf("i的地址是%d\n",&i); printf("p的地址是%d\n",&p); printf("*p的值是%d\n",*p); printf("*p的地址是%d\n",&*p); return 0; }
输出结果:
微信公众号:
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。