程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 交換兩個元素的值

交換兩個元素的值

編輯:C++入門知識

交換兩個元素的值,有傳指針和傳引用兩種方式,這裡需要注意的是引用一旦定義必須賦值,一旦賦值不能更改,對象a的引用就是a的別名(alias)。

(1)int &a;//a是int類型的引用

(2)int *a;//a是int類型的指針

(3)int *&a;//a是int*類型的引用,也就是a是指針的引用

可以用下面示意圖解釋

第一種交換方式,傳遞引用,swap1(int &x, int &y);第二種方式,傳遞指針swap2(int *x, int *y),第三種方式傳遞指針引用swap3(int*(&x), int*(&y))。分別如下所示

                

可以看到第一、二種方式交換的是數值,第三種方式交換的是指針。

附代碼

 #include <stdio.h>
 
 
  swap1( &x,  &       temp =     x =     y =  
  swap2( *x,  *           temp = *     *x = *     *y =  
  swap3(*(&x), *(&       *     temp =     x =     y =  
        a = , b =       printf(     a = , b =      swap2(&a, &     printf(     a = , b =       *i = &      *j = &     printf(     printf(, *i, *      printf(     printf(, *i, * 
     scanf(, &       }

運行結果,與前圖分析的完全相同

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved