傳值 傳址和傳引用

2022-03-22 06:17:47 字數 1420 閱讀 6354

在編寫個人函式的時候,你將受到c++中一條基本原則的限制:在預設的情況下,引數只能以值傳遞的方式給函式。這句話的理解是:被傳遞到函式的只是變數的值,永遠不會是變數本身。舉例如下:

#include void changeage( int age, int

newage );

//如果想要實現計畫功能,需要怎麼改?

main()

void changeage( int age, int

newage )

my age is

24in

this , my age is

25now my age

is24

請按任意鍵繼續. . .

view code

繞開「值傳遞」問題的第一種方法是向函教傳遞變數的位址取代它的值。我們說c語言強大,有很大一部分就是在於他的靈活,他的靈活,有大一部分就是可以利用指標進行委婉地亂改。。。正如我們所理解的,想要獲取某個變數的位址只需要在它前邊加上乙個「取位址」操作符(&)就行了。

那我們可以試著這樣:changeage(&age,age+1)

#include void changeage( int *age, int

newage );

//如果想要實現計畫功能,需要怎麼改?

main()

void changeage( int *age, int

newage )

my age is

24in

this , my age is

25now my age

is25

請按任意鍵繼續. . .

view code

練習題:swap.cpp

#include void swap( int *x, int *y );

main()

void swap( int *x, int *y )

view code

另外的一種不需要中有的互換方案:swap2.cpp

#include void swap( int *x, int *y );

main()

void swap( int *x, int *y )

view code

引用傳遞

傳址在我們看來已經是很不錯,不過c++語言的大神們在完善的過程中完善了位址這個概念。

於是乎,以引用傳遞方式傳遞輸入方式的概念因比而產生了。

#include void swap( int &x, int &y ); //

main()

void swap( int &x, int &y )

傳值,傳址和傳引用

傳值方式 將實參的值拷貝給函式或方法,在函式內對形參進行操作,操作的物件是實參的拷貝,對實參本身沒有影響,在函式結束返回後,形參被丟棄釋放,實參的內容不會被改變。c 一條基本原則 在預設情況下,引數只能以值傳遞的方式給函式,被傳遞到函式的只是變數的值,永遠不會是變數本身。void exchange ...

C 傳值 傳址 傳指標 傳引用

相關概念 c 三種傳遞引數方式 傳引數的值 稱值傳遞,簡稱傳值 傳引數的位址 稱位址傳遞,簡稱為傳址 和引用傳遞 稱為傳引用 相應的函式傳值呼叫,傳址呼叫和傳引用呼叫 形參 實參 函式定義時參數列中的引數稱為形式引數,簡稱形參 函式呼叫時參數列中的引數稱為實際引數,簡稱實參。實參和形參之間的資料傳遞...

指標 引用 傳值 傳址

個人總結 首先定義 struct binarytreenode 定義變數 1 binarytreenode ptreenode 2 binarytreenode n ptreenode 3 binarytreenode k 4 binarytreenode m k 引用變數必須初始化 定義 位址也稱...