1. 程式人生 > >以指標作為函式引數,不能改變實參指標變數的值從而改變實參值

以指標作為函式引數,不能改變實參指標變數的值從而改變實參值

如題,這是因為 :

1,按值傳遞,在呼叫函式的時候,將指向資料的指標實參傳遞到呼叫函式的形參中去

2,單向傳遞,形參中的指標子函式改變地址後不能傳給主調函式,變數同樣指向了我們希望處理的資料,然後對形參的指標變數指向的資料進行各種希望的處理,在呼叫函式執行完成後,各個形參指標變數進行了釋放。子函式改變地址後不能傳給主調函式。


swap( int *p1 , int *p2 )
main ( )
      {
         int a , b ;
         int *point_1 ; int *point_2 ;
         scanf ( "%d,%d" , &a , &b ) ;
         *point_1 = a ;
         *point_2 = b ;
         swap ( point_1 , point_2 ) ;
         printf ( "\n%d,%d\n" , a , b ) ;
      }

swap( int *p1 , int *p2 )
      {
          int temp ;
          temp = *p1 ;
          *p1 = *p2 ;
          *p2 = temp ;
       }