因為我學藝不精,所以有時候交換值函式時有時候會寫成下面這樣int main(int argc, const char * argv) {
// insert code here...
int x = 3;
int y = 5;
swap(&x,&y);
cout《這樣就能夠成功交換x和y的值。
為什麼會有不同的效果呢,按照我個人的理解是,上面的區域性變數a和b只是相當於新建乙個指向x和y的指標,只是交換a和b指標位址的值並不能改變x和y的位址的指向,所以x和y的值還是沒有改變。
而採用引用的話,實際上就是建立乙個指標指向主題函式中的x和y,然後在操作的就是這個指標指向的值。這樣才能改變主體函式中x和y的值。
以上僅僅是個人的理解,方便自己理解**,也有可能實際並不是我想的這樣,僅供參考!
個人c語言中指標的理解
定義指標 int p int i p i p是指向i位址的指標 p 10 指的是i的值變成了10指標在使用前一定要賦值 確定指標指向 為指標變數賦的值必須是乙個位址 將指標變數初始化為空指標,意為該變數不指向任何值 int ptr null 將變數位址賦值給指標 int a int p a 或者 i...
C 引數傳遞 引用傳遞的一些個人理解
2013 07 30 17 09 26 1 using system 2class program35 static void main b a,b 6 7改成引用傳遞後 8using system 9class program 1012 static void main b a,b 13 1 6行...
C 指標的引用理解
指標可以作為引數傳遞直接修改所指的變數的值,如下 void change int p int main 指標傳遞實際上也是值傳遞,傳遞的值便是指標的位址,執行 p 20後,雖然傳遞的是乙個位址的副本,但是副本的值就是變數的位址,執行後,所指向的位址的值變成了20,達到了修改變數值的目的。所以,當需要...