#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;
}
输出结果:
微信公众号:
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。