当前位置:编程学习 > C/C++ >>

子函数参数传递地址

 #include<stdio.h>
 void fa(int a) /* 在函数中改变a,将不会带回主调函数(主调函数中的a仍是原值) */
 {
   a++;
   printf("在函数fa中:a=%d\n",a);                                      a=2
 }
 void fb(int *a) /* a为指针类型,在函数中改变*a,改变后的值将带回主调函数 */
 {
   (*a)++;
   printf("在函数fb中:*a=%d\n",*a);                                     a=2
 }
 void main()
 {
   int n=1;
   printf("在主程中,调用函数fa之前:n=%d\n",n);           n=1
   fa(n);
   printf("在主程中,调用函数fa之后,调用函数fb之前:n=%d\n",n);        n=1
   fb(&n); /* 实参为n的地址 */
   printf("在主程中,调用函数fb之后:n=%d\n",n);                 n=2
 }
补充:软件开发 , C语言 ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,