函式形參不僅可以是基本資料型別,也可以是類型別,陣列型別,還可以是指標型別。
c++中的指標是從c中繼承來的,c中引入指標主要有以下幾種作用:
1. 使引數可以雙向傳遞,也就是形參的值改變會引起實參的值的改變。
這一功能在c++中已經可以用引用代替了,當然如果在c++中使用指標的這一功能也未嘗不可。
2. 提高資料傳遞的效率,如果程式中要傳遞的資料很大,而且它們的記憶體空間是連續的,那麼久可以只傳遞記憶體的首位址,從而減少系統開銷,提高程式執行效率。
還有其他的,這裡就不再多說了。
舉個例子:void(float x,int *intpart,float *fracpart);
這就宣告了乙個函式,其中使用兩個指標變數當函式形參,當形參指標的值改變時,相應的實參也會改變。
以上就是我對於指標做函式形參的一些認識。
C 中指標形參問題
1.c 指標做形參,會有很多陷阱,很多時候也許並不如我們想的那樣。比如我們想通過乙個函式改變指標的值 include using namespace std void test point int p intmain 這段 明顯想通過函式改變p1的值,但是結果卻沒有變化,輸出仍舊是1。問題就出在關鍵...
c 形參改變實參(對指標的理解
這幾天搞邏輯比較暈,居然把指標的概念都混淆了。eg int p 當然不對指標初始化在有些編譯器是通不過編譯的,比如vs 尤其是選中了sdl 指標p是乙個物件,定義開始沒有分配了記憶體空間,只是定義了乙個指標而已。p存放的是物件的位址。可見取位址運算子 改變了指標i的位址,使i指向a。解引用 i就是i...
形參中指標需要作為結果傳出函式
函式形參中的a需要作為函式執行結果傳出函式 void test int a 函式返回值作為函式執行結果傳出函式 int test intmain 總結 在向函式傳入指標時,若想要這個指標的位址上的內容作為函式執行結果傳出函式,函式內賦值一定要用 a b 的方式,因為函式內部的指標本身和傳入函式的指標...