函數(shù)定義好以后,要被其它函數(shù)調(diào)用了才能被執(zhí)行。C
南明網(wǎng)站制作公司哪家好,找成都創(chuàng)新互聯(lián)公司!從網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、APP開(kāi)發(fā)、響應(yīng)式網(wǎng)站建設(shè)等網(wǎng)站項(xiàng)目制作,到程序開(kāi)發(fā),運(yùn)營(yíng)維護(hù)。成都創(chuàng)新互聯(lián)公司自2013年起到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來(lái)保證我們的工作的順利進(jìn)行。專(zhuān)注于網(wǎng)站建設(shè)就選成都創(chuàng)新互聯(lián)公司。
語(yǔ)言的函數(shù)是能相互調(diào)用的,
但在調(diào)用函數(shù)前,必須對(duì)函數(shù)的類(lèi)型進(jìn)行說(shuō)明,就算是標(biāo)準(zhǔn)庫(kù)函數(shù)也不例外。標(biāo)準(zhǔn)庫(kù)函數(shù)的
說(shuō)明會(huì)被按功能分別寫(xiě)在不一樣的頭文件中,使用時(shí)只要在文件最前面用#include
預(yù)處理語(yǔ)
句引入相應(yīng)的頭文件。如前面一直有使用的
printf
函數(shù)說(shuō)明就是放在文件名為
stdio.h
的
頭文件中。調(diào)用就是指一個(gè)函數(shù)體中引用另一個(gè)已定義的函數(shù)來(lái)實(shí)現(xiàn)所需要的功能,這個(gè)時(shí)候函
數(shù)體稱為主調(diào)用函數(shù),函數(shù)體中所引用的函數(shù)稱為被調(diào)用函數(shù)。一個(gè)函數(shù)體中能調(diào)用數(shù)個(gè)
其它的函數(shù),這些被調(diào)用的函數(shù)同樣也能調(diào)用其它函數(shù),也能嵌套調(diào)用。筆者本人認(rèn)為
主函數(shù)只是相對(duì)于被調(diào)用函數(shù)而言。在
c51
語(yǔ)言中有一個(gè)函數(shù)是不能被其它函數(shù)所調(diào)用的,
它就是
main
主函數(shù)。調(diào)用函數(shù)的一般形式如下:
函數(shù)名
(實(shí)際參數(shù)表)
“函數(shù)名”就是指被調(diào)用的函數(shù)。實(shí)際參數(shù)表能為零或多個(gè)參數(shù),多個(gè)參數(shù)時(shí)要用逗
號(hào)隔開(kāi),每個(gè)參數(shù)的類(lèi)型、位置應(yīng)與函數(shù)定義時(shí)所的形式參數(shù)一一對(duì)應(yīng),它的作用就是把參
數(shù)傳到被調(diào)用函數(shù)中的形式參數(shù),如果類(lèi)型不對(duì)應(yīng)就會(huì)產(chǎn)生一些錯(cuò)誤。調(diào)用的函數(shù)是無(wú)參函
數(shù)時(shí)不寫(xiě)參數(shù),但不能省后面的括號(hào)。
在以前的一些例子我們也能看不一樣的調(diào)用方式:
1.函數(shù)語(yǔ)句
如
printf
("Hello
World!n");
這是在
我們的第一個(gè)程序中出現(xiàn)的,它以
"Hello
World!n"為參數(shù)調(diào)用
printf
這個(gè)庫(kù)函數(shù)。在這里函數(shù)調(diào)用被看作了一條語(yǔ)句。
2.函數(shù)參數(shù)
“函數(shù)參數(shù)”這種方式是指被調(diào)用函數(shù)的返回值當(dāng)作另一個(gè)被調(diào)用函數(shù)的實(shí)際參
數(shù),如
temp=StrToInt(CharB(16));CharB
的返回值作為
StrToInt
函數(shù)的實(shí)際參數(shù)傳遞。
3.函數(shù)表達(dá)式
而在上一篇的例子中有
temp
=
Count();這樣一句,這個(gè)時(shí)候函數(shù)的調(diào)用作為一個(gè)運(yùn)算
對(duì)象出現(xiàn)在表達(dá)式中,能稱為函數(shù)表達(dá)式。例子中
Count()返回一個(gè)
int
類(lèi)型的返回
值直接賦值給
temp。注意的是這種調(diào)用方式要求被調(diào)用的函數(shù)能返回一個(gè)同類(lèi)型的值,
不然會(huì)出現(xiàn)不可預(yù)料的錯(cuò)誤。
前面說(shuō)到調(diào)用函數(shù)前要對(duì)被調(diào)用的函數(shù)進(jìn)行說(shuō)明。標(biāo)準(zhǔn)庫(kù)函數(shù)只要用#include
引入已
寫(xiě)好說(shuō)明的頭文件,在程序就能直接調(diào)用函數(shù)了。如調(diào)用的是自定義的函數(shù)則要用如下形
式編寫(xiě)函數(shù)類(lèi)型說(shuō)明
類(lèi)型標(biāo)識(shí)符
函數(shù)的名稱(形式參數(shù)表);
這樣的說(shuō)明方式是用在被調(diào)函數(shù)定義和主調(diào)函數(shù)是在同一文件中。你也能把這些寫(xiě)到
文件名.h
的文件中用#include
"文件名.h"引入。如果被調(diào)函數(shù)的定義和主調(diào)函數(shù)不是在同
一文件中的,則要用如下的方式進(jìn)行說(shuō)明,說(shuō)明被調(diào)函數(shù)的定義在同一項(xiàng)目的不一樣文件之上,
其實(shí)庫(kù)函數(shù)的頭文件也是如此說(shuō)明庫(kù)函數(shù)的,如果說(shuō)明的函數(shù)也能稱為外部函數(shù)。
extern
類(lèi)型標(biāo)識(shí)符
函數(shù)的名稱(形式參數(shù)表);
函數(shù)的定義和說(shuō)明是完全不一樣的,在編譯的角度上看函數(shù)的定義是把函數(shù)編譯存放在
ROM
的某一段地址上,而函數(shù)說(shuō)明是告訴編譯器要在程序中使用那些函數(shù)并確定函數(shù)的地
址。如果在同一文件中被調(diào)函數(shù)的定義在主調(diào)函數(shù)之前,這個(gè)時(shí)候能不用說(shuō)明函數(shù)類(lèi)型。也就
是說(shuō)在
main
函數(shù)之前定義的函數(shù),在程序中就能不用寫(xiě)函數(shù)類(lèi)型說(shuō)明了。能在一個(gè)函
數(shù)體調(diào)用另一個(gè)函數(shù)(嵌套調(diào)用),但不允許在一個(gè)函數(shù)定義中定義另一個(gè)函數(shù)。還要注意
的是函數(shù)定義和說(shuō)明中的“類(lèi)型、形參表、名稱”等都要相一致。
1、外部函數(shù)extern時(shí)聲明這個(gè)函數(shù)為外部函數(shù),本文件不做定義,只調(diào)用,編譯不會(huì)出錯(cuò),但不能運(yùn)行(沒(méi)有函數(shù)實(shí)體)。如果想有運(yùn)行結(jié)果就必須將函數(shù)實(shí)體包含進(jìn)來(lái),所以文件包含和extern是配合使用的。文件包含只需要包含.h就是實(shí)體的頭文件,但有些軟件貌似不能識(shí)別頭文件和c的關(guān)系,所以就只能包含.c文件。
2、也就是說(shuō)外部函數(shù)extern只是個(gè)聲明,他告訴編譯器我用到了一個(gè)外部函數(shù),但如果該文件沒(méi)有將函數(shù)實(shí)體包含進(jìn)來(lái),編譯器是找不到的,依然是不能運(yùn)行的,所以extern只是個(gè)聲明,并沒(méi)有做任何事,只是這樣是沒(méi)用的。include是包含一個(gè)文件,就是類(lèi)似于該文件復(fù)制到此處(只是說(shuō)類(lèi)似,其實(shí)是個(gè)查找路徑,讓編譯器去該路徑查找函數(shù))。
C語(yǔ)言中調(diào)用函數(shù)的方法及步驟:
工具/原料:C語(yǔ)言
1、首先需要輸入想要調(diào)用的函數(shù)。
2、然后當(dāng)輸入一個(gè)括號(hào)后,即可觀察他的參數(shù)。
3、接著在對(duì)應(yīng)的參數(shù)中輸入?yún)?shù)值。
4、然后,系統(tǒng)會(huì)發(fā)生一個(gè)警告。
5、接著需要調(diào)用它相應(yīng)的頭文件。
6、最后再次編譯,發(fā)現(xiàn)沒(méi)有任何警告和錯(cuò)誤即可。
當(dāng)前文章:c語(yǔ)言中如何調(diào)用外部函數(shù) c語(yǔ)言函數(shù)中調(diào)用其它函數(shù)
當(dāng)前路徑:http://muchs.cn/article20/hheojo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信公眾號(hào)、品牌網(wǎng)站制作、網(wǎng)站設(shè)計(jì)、手機(jī)網(wǎng)站建設(shè)、網(wǎng)站維護(hù)、做網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)