C語言函式的簡單說明

2021-08-07 09:46:34 字數 1756 閱讀 9790

這篇主要講解一下函式的一些基本概念及其用法。先放一張圖,有助於更清楚的閱讀。

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函式,我想要的特點...