c语言指针跨函数使用内存
#include<stdio.h>#include<malloc.h>//动态内存跨函数使用voidf(int**q){intj=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);}intmain(void){inti=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);return0;}
输出结果:
微信公众号:
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。