学习C语言_指针_4_通过指针使被调函数修改主调函数

老师说这部分是重点,必须要搞懂!(还是刚学指针的笔记,就是那个例题在重复详细的讲一下关于如何才能修改主调函数的内容)

还是举实例通俗易懂

  1: # include <stdio.h> 
  2:  
  3: void g (int * p, int * q) //2.形参必须为指针变量 
  4:  
  5: { 
  6:      
  7:     *p = 1; //3.在被调中通过 *形参名 = ...的方式才可以修改主调函数相关变量的值 
  8:      
  9:     *q = 2; 
 10:      
 11: } 
 12:  
 13: int main(void) 
 14:  
 15: { 
 16:      
 17:     int a = 3, b = 5; 
 18:      
 19:     g(&a, &b); //1.实参必须为该普通变量的值 
 20:      
 21:     printf("%d %d\n", a, b); 
 22:      
 23:     return 0; 
 24:      
 25: }

运行结果:

image

 

通过以上3点就可以修改主调函数的内容了,还要注意主调函数的a和b与被调函数的p和q因为不是同一变量所以不能修改内容。而a与*p和b与*q他们是同一地址,*p就等于a,*q就等于b,所以可以修改!

posted on 2011-06-28 15:21  liwenodo  阅读(318)  评论(0编辑  收藏  举报

导航