首先,讓我們來看一下函式定義的語法形式
資料型別函式名(形式參數列)
通過以往的學習,我們對於函式的認知僅僅侷限於主函式,運用複雜冗長的主函式來實現相關操作,這樣大大增加了使用空間和時間,經常會出現除錯不通而找不到錯誤在哪的情況,而且寫出來的程式也不美觀。
但如果我們將乙個程式拆分,每個函式實現特定的功能,主函式只用來呼叫自定義函式,是不是上面的問題就很好解決了呢?
接下來,我將簡單總結一下我這兩周程式設計課所學習的內容。
u 關於形式引數(形參)
形參表可以是空的,也可以是有多個形參,形參的資料型別必須逐一說明,函式在沒有被呼叫的時候是靜止的,此時形參只是乙個符號,它標誌著在形參出現的位置應該有乙個什麼型別的資料,函式再被呼叫時執行,也就是在被呼叫時才會由主函式將實際引數值賦予形參。
u 函式的宣告
由於我們習慣於將主函式寫在前邊,將子函式寫在後邊,這也就導致系統不知道子函式的存在,主函式裡包含的子函式都是非法的,為了解決這個問題,需要在所有函式定義之前宣告函式型別,就像
#include
using namespacestd;
int zhs(int x);
int main()
int zhs(int x)
是不是很簡單?接下來,讓我們看一下相對難理解的部分
u 函式的傳值呼叫
將呼叫函式的實參表中的實參值依次對應地傳遞給被呼叫函式的形參表中的形參,實參形參個數相等,型別相同
1. 傳值呼叫
將實參的資料值傳遞給形參,引數傳遞方向只是從實參到形參,簡稱單項值傳遞
2. 傳址呼叫
將實參變數的位址傳遞給形參(這時形參是指標,讓形參的指標指向實參位址),讓形參直接指向實參,提供了一種可以改變實參變數的值的方法
int zhs(int&x)
u 函式的返回型別
1. 返回基本型別
c++函式可以通過指標引數或引用引數修改實際引數,從而獲取函式的執行結果。
return (表示式);
對匿名物件賦值時,如果表示式的值的型別與函式定義的返回型別不相同,將強制轉換成函式的返回型別。
2. 返回指標型別
函式被呼叫之後可以返回乙個物件的指標值(位址表示式)。返回指標型別值的函式稱為指標函式。
型別* 函式名(形式參數列)
函式體中用return語句返回物件的指標。
例題:定義乙個函式,返回較大值變數的指標。
#include
using namespace std;
int maxpoint(int * x,int * y)
int main()
{int a,b;
cin>>a,b;
cout<<*maxpoint(&a,&b)<
關於指標和傳址呼叫,它們之間的聯絡我還不是很清楚,查閱相關資料後總結出了幾點,首先,指標算作是物件,需要分配空間,而資料型別就是位址值,如果要訪問其中的位址值,要在前面加*,而引用不能算作物件,而且不能為空。
函式相關總結
1.python中函式定義方法 def test x the function definitions x 1 return x def 定義函式的關鍵字 test 函式名 內可定義形參 文件描述 非必要,但是強烈建議為你的函式新增描述資訊 x 1 泛指 塊或程式處理邏輯 return 定義返回值 ...
Oracle相關操作總結1
1 資料庫匯入匯出 1 進入dos模式 2.匯出資料庫 exp username password servname owner username indexes y file d export.dmp 將username使用者下的酷匯出為dmp檔案備份。3 匯入資料庫 imp username p...
函式基礎 1 總結
目錄函式的返回值 函式的引數 定義 函式是一種工具,需要用的時候提前寫,需要的時候就拿出來使用。空函式寫函式的時候 後邊必須寫 如果不寫的話可以就需要寫 pass 來表示,這就是空函式的形成。之後在寫 塊的時候,有些 塊不是現在就寫的,就需要先寫成空函式來表示。例 def fun pass 會跳過這...