值傳遞,指標傳遞,引用傳遞 的區別

2021-07-27 00:25:38 字數 655 閱讀 3213

值傳遞,指標傳遞,引用傳遞 的區別

值傳遞:

從被呼叫函式的角度來說,值傳遞是單向的(實參->形參),引數的值只能傳入,不能傳出

形參為實參的拷貝,形參有單獨的記憶體空間,當函式內部需要修改引數,並且不希望這個改變影響呼叫者時,採用值傳遞

指標傳遞:

指標傳遞向形參傳遞的為實參的位址,即形參為乙個指向實參位址的指標,形參的值為實參的位址,而形參所在的位址並不是實參的位址

對形參指向內容的修改即改變了實參的值

引用傳遞:

引用傳遞與指標傳遞不同是:引用傳遞中形參與實參的位址和引數值都是相同的,形參與實參只是名字不一樣(形參相當於實參的別名)

實際上是乙個物件

#include "stdafx.h"

#includeusing namespace std;

void valuetransfer(int a, int b)

void pointertransfer(int *a, int *b)

void quotetransfer(int &a, int&b)

int main()

結果:

值傳遞 指標傳遞 引用傳遞的區別

1.值傳遞 形參是實參的拷貝,改變形參的值並不會影響外部實參的值。從被呼叫函式的角度來說,值傳遞是單向的 實參 形參 引數的值只能傳入,不能傳出。當函式內部需要修改引數,並且不希望這個改變影響呼叫者時,採用值傳遞。1 void swap int a,intb 2 910intmain 用gdb除錯後...

值傳遞 指標傳遞 引用傳遞的區別

1.值傳遞 形參是實參的拷貝,改變形參的值並不會影響外部實參的值。從被呼叫函式的角度來說,值傳遞是單向的 實參 形參 引數的值只能傳入,不能傳出。當函式內部需要修改引數,並且不希望這個改變影響呼叫者時,採用值傳遞。void swap int a,int b int main int change2 ...

值傳遞,引用傳遞,指標傳遞

最近一直被c 的值傳遞,引用傳遞,指標傳遞這些概念所困擾,一直沒有乙個能說清他們之間的關係通過乙個簡單的例項,或者說淺顯的說法,找了一些相關資料,和自已的個人感受,簡單介紹一下,希望高人指正 c 中傳遞引數的方式有三種 傳引數的值 稱為值傳遞,簡稱傳值 傳引數的位址 稱為位址傳遞,簡稱為傳址 和引用...