關(guān)于c語(yǔ)言中函數(shù)調(diào)用問題解答如下:首先如果是編譯的這個(gè)代碼那這個(gè)函數(shù)肯定被調(diào)用了,讓你覺得沒有調(diào)用是因?yàn)閣hile循環(huán)沒有被執(zhí)行。圖中紅色框內(nèi)代碼p1和p2經(jīng)過賦值p1是肯定大于p2所以不滿足while.的條件直接退出了函數(shù)。
成都創(chuàng)新互聯(lián)公司是一家專注于成都網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì)與策劃設(shè)計(jì),民豐網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設(shè)十載,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:民豐等地區(qū)。民豐做網(wǎng)站價(jià)格咨詢:028-86922220
一般說來(lái),有兩種方法可以把參數(shù)傳遞給函數(shù)。第一種叫做“賦值調(diào)用”(call by value),這種方法是把參數(shù)的值復(fù)制到函數(shù)的形式參數(shù)中。這樣,函數(shù)中的形式參數(shù)的任何變化不會(huì)影響到調(diào)用時(shí)所使用的變量。
主函數(shù)需要調(diào)用函數(shù)并賦值給某一個(gè)變量。例如:函數(shù)int fun() 返回值:return (a);主函數(shù)調(diào)用函數(shù)fun()p=fun(int n);這時(shí),p就接收了函數(shù)返回的a的值。printf(%d,a);就可以將a的值顯示在屏幕上。
void func(int b) 函數(shù)的參數(shù)不是用地址來(lái)傳遞,所以數(shù)值只能傳入函數(shù),不能把加工結(jié)果帶回來(lái)。 func(b) 調(diào)用前后 主函數(shù)中 b 值不變。
函數(shù)作為表達(dá)式中的一項(xiàng)出現(xiàn)在表達(dá)式中,以函數(shù)返回值參與表達(dá)式的運(yùn)算。這種方式要求函數(shù)是有返回值的。例如:z=max(x,y)是一個(gè)賦值表達(dá)式,把max的返回值賦予變量z。
不對(duì)。C語(yǔ)言中函數(shù)可以定義在main()函數(shù)外面,如下列代碼中定義的swap函數(shù),就是在main()函數(shù)外面。
有意思的是,在很多編程語(yǔ)言里,函數(shù)間的調(diào)用就是用CALL關(guān)鍵字來(lái)表示的。
調(diào)用函數(shù)就是計(jì)算機(jī)編譯或運(yùn)行時(shí),使用某個(gè)函數(shù)來(lái)完成相關(guān)命令。對(duì)無(wú)參函數(shù)調(diào)用時(shí)則無(wú)實(shí)際參數(shù)表。實(shí)際參數(shù)表中的參數(shù)可以是常數(shù)、變量或其它構(gòu)造類型數(shù)據(jù)及表達(dá)式。各實(shí)參之間用逗號(hào)分隔。
當(dāng)一個(gè)源程序由多個(gè)源文件組成時(shí),C語(yǔ)言根據(jù)函數(shù)能否被其它源文件中的函數(shù)調(diào)用,將函數(shù)分為內(nèi)部函數(shù)和外部函數(shù)。
C語(yǔ)言外部函數(shù)是一種可在自身所處的源文件及其他源文件中都能被調(diào)用的函數(shù)。外部函數(shù)的作用域是整個(gè)源程序。
兩個(gè)可以放在同一目錄下,也可以放到不同的目錄下,前提是你在主函數(shù)文件中應(yīng)當(dāng)包含相應(yīng)的頭文件或C文件(路徑寫對(duì)應(yīng),寫完整就好)。
外部函數(shù)extern時(shí)聲明這個(gè)函數(shù)為外部函數(shù),本文件不做定義,只調(diào)用,編譯不會(huì)出錯(cuò),但不能運(yùn)行(沒有函數(shù)實(shí)體)。如果想有運(yùn)行結(jié)果就必須將函數(shù)實(shí)體包含進(jìn)來(lái),所以文件包含和extern是配合使用的。
C語(yǔ)言沒有過程,只有函數(shù),所以B不對(duì);C語(yǔ)言函數(shù)內(nèi)不能定義函數(shù),既不能嵌套定義,所以C不對(duì)。排除法也知道是D了。當(dāng)然由“函數(shù)內(nèi)不能定義函數(shù)”也可以推出所有函數(shù)都是外部函數(shù)。
內(nèi)部函數(shù)跟外部函數(shù)的區(qū)別在于:一個(gè)文件中定義的函數(shù)能否被其它文件調(diào)用。能被調(diào)用的函數(shù)在前面加extern(一般省略),而不能被調(diào)用的加static(不能省略),通常函數(shù)本質(zhì)上是全局的,也就是外部的可調(diào)用的。
1、temp。注意的是這種調(diào)用方式要求被調(diào)用的函數(shù)能返回一個(gè)同類型的值,不然會(huì)出現(xiàn)不可預(yù)料的錯(cuò)誤。前面說到調(diào)用函數(shù)前要對(duì)被調(diào)用的函數(shù)進(jìn)行說明。標(biāo)準(zhǔn)庫(kù)函數(shù)只要用#include 引入已 寫好說明的頭文件,在程序就能直接調(diào)用函數(shù)了。
2、main()中的extem a;改為extem int a; extem用于將用于將其他源文件的函數(shù)或變量的作用范圍擴(kuò)大到整個(gè)程序。
3、這個(gè)最好是寫上,不寫有警告,應(yīng)該是你用的編譯器隱含的自動(dòng)添加了這個(gè)頭文件,因?yàn)槟闶褂玫挠衟rintf函數(shù),這個(gè)函數(shù)就是在stdio.h里邊聲明的,類似于你調(diào)用了外部函數(shù)printf,這是C或者c++語(yǔ)言里C和H文件的用法。
1、有兩種方法:1。在Ac中有完整的函數(shù)定義,在Ac中添加一下要用到的函數(shù)原型就可以了,例如:在Ac中:有函數(shù)void A2(){...};在Ac中:在文件前頭增加一行:void A2();就可以了 2。
2、在Ac中有完整的函數(shù)定義,在Ac中添加一下要用到的函數(shù)原型(聲明)就可以了,例如:在Ac中:有函數(shù)void A2(){...};。在Ac中:在文件前頭增加一行:void A2();就可以了。
3、請(qǐng)使用預(yù)編譯指令 include。加入外部文件,就可以使用外部文件的函數(shù)了。include放在代碼文件頭,用于告訴編譯器,文件中包含的頭文件,屬于預(yù)處理文件的一部分 。
4、外部函數(shù)extern時(shí)聲明這個(gè)函數(shù)為外部函數(shù),本文件不做定義,只調(diào)用,編譯不會(huì)出錯(cuò),但不能運(yùn)行(沒有函數(shù)實(shí)體)。如果想有運(yùn)行結(jié)果就必須將函數(shù)實(shí)體包含進(jìn)來(lái),所以文件包含和extern是配合使用的。
5、main()中的extem a;改為extem int a; extem用于將用于將其他源文件的函數(shù)或變量的作用范圍擴(kuò)大到整個(gè)程序。
被調(diào)函數(shù):被調(diào)用的函數(shù)為被調(diào)函數(shù),調(diào)用該函數(shù)的函數(shù)為主調(diào)函數(shù)。它一般在主調(diào)函數(shù)的程序體內(nèi)使用函數(shù)名調(diào)用,在外部進(jìn)行定義。所以在主調(diào)函數(shù)內(nèi)不存在函數(shù)定義,只存在名字。
有意思的是,在很多編程語(yǔ)言里,函數(shù)間的調(diào)用就是用CALL關(guān)鍵字來(lái)表示的。
主函數(shù)就是main函數(shù),是程序執(zhí)行的起點(diǎn)。被調(diào)用函數(shù):由一個(gè)函數(shù)調(diào)用另一個(gè)函數(shù),則稱第二個(gè)函數(shù)為被調(diào)用函數(shù)。
函數(shù)是C語(yǔ)言最基本的執(zhí)行單位,是實(shí)現(xiàn)一定功能的代碼的集合;主函數(shù)是main函數(shù),是程序執(zhí)行的入口;有函數(shù)A和函數(shù)B,如果在函數(shù)A中調(diào)用函數(shù)B,則函數(shù)A稱為主調(diào)用函數(shù),函數(shù)B稱為被調(diào)用函數(shù)。
例 includestdio.h void a(){……} void main(){……a();……} 則a()為被調(diào)用函數(shù),main()為主函數(shù) 被調(diào)用函數(shù)一般放在主函數(shù)前,若被調(diào)用函數(shù)放在主函數(shù)后,需函數(shù)聲明。
分享標(biāo)題:c語(yǔ)言外部函數(shù)被調(diào)用 c語(yǔ)言函數(shù)都是外部函數(shù)
本文網(wǎng)址:http://chinadenli.net/article22/dehpjjc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營(yíng)銷推廣、用戶體驗(yàn)、網(wǎng)站導(dǎo)航、App設(shè)計(jì)、外貿(mào)網(wǎng)站建設(shè)、網(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)
猜你還喜歡下面的內(nèi)容