這篇主要講解一下函式的一些基本概念及其用法。先放一張圖,有助於更清楚的閱讀。
paste_image.png
函式是一種能完成特定功能的程式**的乙個單元。它提供給我們乙個和黑子的概念,讓**模組化,當你需要實現某一功能的時候,即可呼叫乙個函式來幫你做,這樣減少了重複工作,也讓**更加模組化,使得**的閱讀,完善和維護更加簡單。
當你想呼叫乙個函式的時候,一般如下格式
函式名(引數)函式定義的一般形式如下:比如這樣
printf("列印函式");
型別識別符號 函式名()這是乙個無引數函式的定義。其中型別識別符號和函式名稱為函式頭。型別識別符號指明了本函式的型別,函式的型別實際上是函式返回值的型別。該型別識別符號與前面介紹的各種說明符相同。函式名是由使用者定義的識別符號,函式名後有乙個空括號,其中無引數,但括號不可少。{}中的內容稱為函式體。在函式體中宣告部分,是對函式體內部所用到的變數的型別說明。在很多情況下都不要求無參函式有返回值,此時函式型別符可以寫為void,或者不寫。
函式的引數分為實參和形參,實參可以是常數、變數、表示式等,多個實參用逗號,
分隔。形參是你宣告和定義時所用的引數,實參則是你實際呼叫時的引數。
函式不能巢狀定義,但可以巢狀呼叫,也就是在乙個函式的定義中出現對另乙個函式的呼叫。這樣就出現了函式的巢狀呼叫,即在被調函式中又呼叫其它函式。這樣也就實現複雜功能的簡單化。例如這樣
#include //求階乘
long factorial(int n)
return result;
}/ / 求累加的和
long sum(long n)
return result;
}int main()
遞迴函式一般是學習函式過程中的乙個難點,它也是函式巢狀使用的一種,不過有些不同於普通的函式巢狀,在呼叫過程中,執行的語句中有將自身再次呼叫的語句。在寫遞迴函式的過程中必須有結束條件的語句。
比如下面這個例子
#include void up_and_down(int);
int main()
void up_and_down(int n)
函式的返回值就是你所要實現功能的結果表現,它的型別與函式的型別相同,當你定義函式的時候,定義了什麼型別的函式,函式的返回值就是什麼型別,就像這樣,看這幾行**
雖然c語言的函式庫很豐富,但是總有的時候不能找到合適的函式,這個時候我們就可以自己動手來,編寫乙個函式。自定義乙個函式主要有一下幾個步驟
1.宣告函式
2.定義函式
3.編寫語句
例如下面這個例子
#include int xiao(int n,int m);
int main()
printf("bey\n");
return 0;
} int xiao(int n,int m)
{ return (n函式的定義一般在最後或者其他檔案裡。
ShellExecute函式簡單說明
平時在delphi寫 的過程中總是能遇到shellexecute函式,於是索性將它的使用方法整理一下,由於我在微軟的站點上也沒能查到個詳解 當然我查的中文版,俺菜嘛 shellexecute函式原型及引數含義例如以下 function shellexecute hwnd hwnd operation...
遞迴函式的簡單說明
如果乙個函式在內部呼叫自身本身,這個函式就是遞迴函式。使用遞迴函式的條件 1,必須留出口 2,自己呼叫自己 練習,使用遞迴函式向控制台列印3,2,1 def print num num print num if num 1 return print num num 1 自己呼叫自己 print nu...
FormatMessage簡單說明
常用引數簡介.formatmessage format message from system format message allocate buffer,null,lval,null,lptstr hlocal,0,null 第乙個引數是標誌,告訴這個formatmessage函式,我想要的特點...