#include "stdio.h" int b; void pointer(int* p) //p指向的是b的地址 { int a = 11; printf("\n\nEnter function"); printf("\nthe p is point to %p , addr is %X, *p is %d\n",p , &p, *p); *p =11; //将p所指向的地址内的值改为11,即b改为11,p的地址没有发生改变,最好用这种方法返回参数 printf("b: %d\n",b); printf("\nthe p is point to %p , addr is %X, *p is %d\n",p , &p, *p); p = &a; //p指向a,此时p的地址发生改变 printf("b: %d\n",b); printf("\nthe p is point to %p , addr is %X, *p is %d",p , &p, *p); printf("\nfunction return\n"); } int main() { b =22; int *p = &b; printf("the b address %X\n",&b); printf("the p is point to %p , addr is %X, *p is %d",p , &p, *p); pointer(p); printf("\nthe p is point to %p , addr is %X, *p is %d\n",p , &p, *p); }
指针传参
猜你喜欢
转载自www.cnblogs.com/fzuhyj/p/10767670.html
今日推荐
周排行