c++函式學習總結

G a o發表於2018-03-07

c++函式學習總結

函式的定義:函式的定義形式為資料型別+函式名+帶資料型別的形式參數列+函式體

例如:

int max(int  x,int  y)

{

        return x>y? x:y;

}

函式的形式有無參函式、有參函式和空函式三種。

函式的宣告:函式在呼叫前需要先進行宣告,說明型別為void的函式是無參函式,無參函式沒有引數傳遞所以沒有返回值,int double等說明的為有參函式,空函式沒有任何語句不完成什麼工作,只是佔據一個位置用於擴充函式功能。

void swap(int p1,int p2);

函式呼叫時的引數傳遞方式有三種:

按值傳遞:將實參的值賦給形參,因為被呼叫函式不對實參進行操作所以形參的變化不對實參造成影響,即使形參的值在函式中發生了變化實參的值也仍為呼叫前的值。

定義:Voidswap(int a,int b);  引用: swap(a,b)

地址傳遞:定義時需要將形參說明成指標,在呼叫時需要指定地址值形式的實參,也就是說呼叫時在括號中需要輸入實參的地址(加&)。形參的任何變化都會影響到實參。

定義:Void swap(int *p1,int *p2);  引用 :swap(&a,&b)

引用傳遞:引用傳遞相當於是給實參起了一個別名,對其進行操作就相當於對實參直接進行操作。在函式定義時需要在形參前面加上&,對形參的任何操作都能改變相應的資料,這種傳遞方式是三種引數傳遞方式中最為方便的一種。

定義:Void swap(int &a,int &b);   引用:swap(a,b)

函式的返回值:返回語句為return,它的一般形式為 return(表示式),當只有return;時那麼這個函式沒有返回值,只是把流程轉向主函式。

 在說明語句中:*變數 表示是指標, &變數 表示是說明引用。在正常語句中: 變數前加&表示取地址,指標前加*表示取內容。

s*=*(p+i)     賦值號左邊的*表示是乘右邊的*表示為取地址。*(a+i)=a【i】

定義陣列a :int a【100】,當直接輸a時表示的是地址*(a+i)=a[i]。int *p     int &x=y     p=&x    y=*p

感悟:經過一段時間的學習,我感覺函式最大的優點就是比較靈活,可以把一個問題分解成很多個小部分來處理。可以自己定義一些函式來實現特定的功能,並且可以反覆多次呼叫函式來簡化過程,通過函式的使用可以使可以使主函式變得更加簡潔,讓人更加容易讀懂,而且當構建出現錯誤時可以檢查各函式的值更方便找出錯誤。





相關文章