C語言中想要使用一個自定義函數(shù)一般有以下三個步驟:
興安網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián),興安網(wǎng)站設(shè)計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為興安上千家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)網(wǎng)站建設(shè)要多少錢,請找那個售后服務(wù)好的興安做網(wǎng)站的公司定做!
一、函數(shù)聲明:
在開發(fā)大型軟件都是采用多人合作開發(fā),一般一個人負(fù)責(zé)實現(xiàn)幾個功能,這些功能都是通過函數(shù)來實現(xiàn)。這總情況下我們一般采用函數(shù)聲明和定義分開模式。即函數(shù)聲明放在頭文件里。需要用到時包含相應(yīng)的頭文件及方法庫即可,庫函數(shù)就是這種模式。函數(shù)的聲明主要是說明函數(shù)的名稱以及其所需要的參數(shù)類型,參數(shù)可以只寫類型不寫變量名,函數(shù)定義是需要變量名。
二、函數(shù)定義
這一步主要是寫函數(shù)功能的實現(xiàn)方法,代碼塊,核心部分。比步可以在函數(shù)聲明時進(jìn)行,即聲明同時定義方法。不過這種方式不適合分享,因為你不一定想分享你的代碼,也許只想分享這個功能。不管哪種方法,在調(diào)用函數(shù)之前必須進(jìn)行函數(shù)聲明。
三、函數(shù)調(diào)用
經(jīng)過以上兩步,我們的函數(shù)已經(jīng)完成。接下來就是使用函數(shù),使用前先搞清楚函數(shù)需要有哪些參數(shù),參數(shù)一定要傳入合適的類型。第二函數(shù)有沒有返回值,返回值的含義。我們可以通過返回值判斷函數(shù)的執(zhí)行情況,一般函數(shù)最好有返回值。想清楚后直接調(diào)用函數(shù)即可。
可以調(diào)用。
C語言最基本的模塊為函數(shù),任意函數(shù)都可以調(diào)用其它任意一個函數(shù),包括函數(shù)本身。
1、自定義函數(shù)調(diào)用其它自定義函數(shù)的例子:
#include stdio.h
void fun1(int a)//自定義函數(shù)fun1。
{
printf("%d\n",a);
}
void fun2(int m, int n)//自定義函數(shù)fun2。
{
fun1(m);
fun1(n);//調(diào)用兩次另一個自定義函數(shù)。
}
int main()
{
fun2(2,3);//調(diào)用fun2.
}
在這個例子中,就是主函數(shù)調(diào)用自定義函數(shù)fun2,然后fun2調(diào)用另一個自定義函數(shù)fun1.
2、不僅可以調(diào)用其它自定義函數(shù),還可以調(diào)用自己本身。
這種稱為遞歸。
以下是通過遞歸,計算1+2+3+...+n值的代碼:
#include stdio.h
int fun(int n)
{
if(n == 1) return 1;
return n+fun(n-1);//遞歸調(diào)用,返回和值。
}
int main()
{
printf("%d\n", fun(100));//計算1到100的和值。
return 0;
}
第一行和第五行任意一處就夠了,都寫也沒沖突。
最后函數(shù)定義那必須有,他后面沒帶分號,而是函數(shù)主體;前面2處才是函數(shù)聲明。
函數(shù)聲明定義在main()函數(shù)內(nèi)外都可以,只要在調(diào)用max之前,能找到聲明就可以了。
如果把函數(shù)定義(包括函數(shù)定義和實現(xiàn)體)放在main函數(shù)之前,則可以需要再寫函數(shù)聲明了。