一、//調(diào)用函數(shù)事例
創(chuàng)新互聯(lián)是一家成都網(wǎng)站設(shè)計、網(wǎng)站制作,提供網(wǎng)頁設(shè)計,網(wǎng)站設(shè)計,網(wǎng)站制作,建網(wǎng)站,按需制作,網(wǎng)站開發(fā)公司,于2013年開始是互聯(lián)行業(yè)建設(shè)者,服務(wù)者。以提升客戶品牌價值為核心業(yè)務(wù),全程參與項目的網(wǎng)站策劃設(shè)計制作,前端開發(fā),后臺程序制作以及后期項目運營并提出專業(yè)建議和思路。
#includestdio.h
#includestring.h
二、//計算加法函數(shù)
int add(int a, int b)
{
return a+b;
}
三、//計算減法函數(shù)
int subtract(int a, int b)
{
return a-b;
}
四、//計算乘法函數(shù)
int multiply(int a, int b)
{
return a*b;
}
擴展資料:
函數(shù)作為另一個函數(shù)調(diào)用的實際參數(shù)出現(xiàn)。這種情況是把該函數(shù)的返回值作為實參進行傳送,因此要求該函數(shù)必須是有返回值的。例如: printf("%d",max(x,y)); 即是把max調(diào)用的返回值又作為printf函數(shù)的實參來使用的。在函數(shù)調(diào)用中還應(yīng)該注意的一個問題是求值順序的問題。
參考資料來源:百度百科-函數(shù)調(diào)用
主函數(shù):即程序的入口函數(shù),通常是有main字樣的函數(shù)為主函數(shù)。程序執(zhí)行的時候最先調(diào)用的是這個函數(shù)。
子函數(shù):即用戶可以自定義的函數(shù),其實可以寫到主函數(shù)中,但閱讀等很費勁,所以很多代碼提到子函數(shù)中實現(xiàn),讓代碼可讀性很強,更精練。
因此,主函數(shù)必須有,且可以調(diào)用子函數(shù),這是編程語言決定的。子函數(shù)可有可沒有,子函數(shù)可以被主函數(shù)調(diào)用,也可以被其他子函數(shù)調(diào)用。
主函數(shù):
返回值類型
main(參數(shù))
int
main()
{
aaa();
}
子函數(shù)
void
aaa()
{
}
倒數(shù)第二個參數(shù)很容易理解吧,就是告訴你調(diào)用該函數(shù)后實際向文件中寫了多少字節(jié),這個值和你指定的要寫入多少字節(jié)不一定相等,因為如果出錯或者執(zhí)行異步寫操作的話,這個值不會等于你指定的要寫入的字節(jié)數(shù)。你要做的就是傳遞一個dword變量地址,函數(shù)會將實際寫入的字節(jié)數(shù)設(shè)為該變量的值,調(diào)用結(jié)束后,檢查該變量的值即可知道實際寫入了多少字節(jié)。
最后一個參數(shù)是一個overlaapped結(jié)構(gòu)體指針,它指出,如果你在打開文件(調(diào)用createfile或socket創(chuàng)建函數(shù)等)時
打開方式指定了file_flag_overlapped標記,那么你需要傳遞一個overlaapped結(jié)構(gòu)體的地址,如果沒有指定該標記,則傳遞null即可,一般直接傳遞null,只有在需要異步操作時,才需要指定。
可以寫出一個常規(guī)調(diào)用:
handle
hfile=createfile(……);
tchar
buf[255];//定義一個buf用于提供寫入到文件的數(shù)據(jù)//調(diào)用一些函數(shù)填充buf,此處省略,也可以是一個外部buf,里面有內(nèi)容就不用填充了。
dword
bytestowrite=255;
dword
byteswritten=0;
if(!writefile(hfile,buf,bytestowrite,byteswritten,null))
{
//……調(diào)用失敗
}
C語言中想要使用一個自定義函數(shù)一般有以下三個步驟:
一、函數(shù)聲明:
在開發(fā)大型軟件都是采用多人合作開發(fā),一般一個人負責實現(xiàn)幾個功能,這些功能都是通過函數(shù)來實現(xiàn)。這總情況下我們一般采用函數(shù)聲明和定義分開模式。即函數(shù)聲明放在頭文件里。需要用到時包含相應(yīng)的頭文件及方法庫即可,庫函數(shù)就是這種模式。函數(shù)的聲明主要是說明函數(shù)的名稱以及其所需要的參數(shù)類型,參數(shù)可以只寫類型不寫變量名,函數(shù)定義是需要變量名。
二、函數(shù)定義
這一步主要是寫函數(shù)功能的實現(xiàn)方法,代碼塊,核心部分。比步可以在函數(shù)聲明時進行,即聲明同時定義方法。不過這種方式不適合分享,因為你不一定想分享你的代碼,也許只想分享這個功能。不管哪種方法,在調(diào)用函數(shù)之前必須進行函數(shù)聲明。
三、函數(shù)調(diào)用
經(jīng)過以上兩步,我們的函數(shù)已經(jīng)完成。接下來就是使用函數(shù),使用前先搞清楚函數(shù)需要有哪些參數(shù),參數(shù)一定要傳入合適的類型。第二函數(shù)有沒有返回值,返回值的含義。我們可以通過返回值判斷函數(shù)的執(zhí)行情況,一般函數(shù)最好有返回值。想清楚后直接調(diào)用函數(shù)即可。