C語言外部函數(shù)是一種可在自身所處的源文件及其他源文件中都能被調(diào)用的函數(shù)。外部函數(shù)的作用域是整個源程序。
成都創(chuàng)新互聯(lián)公司專注于桓仁企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站,成都做商城網(wǎng)站?;溉示W(wǎng)站建設(shè)公司,為桓仁等地區(qū)提供建站服務(wù)。全流程定制設(shè)計(jì),專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,成都創(chuàng)新互聯(lián)公司專業(yè)和態(tài)度為您提供的服務(wù)
兩個可以放在同一目錄下,也可以放到不同的目錄下,前提是你在主函數(shù)文件中應(yīng)當(dāng)包含相應(yīng)的頭文件或C文件(路徑寫對應(yīng),寫完整就好)。
內(nèi)部函數(shù)跟外部函數(shù)的區(qū)別在于:一個文件中定義的函數(shù)能否被其它文件調(diào)用。能被調(diào)用的函數(shù)在前面加extern(一般省略),而不能被調(diào)用的加static(不能省略),通常函數(shù)本質(zhì)上是全局的,也就是外部的可調(diào)用的。
外部函數(shù)extern時聲明這個函數(shù)為外部函數(shù),本文件不做定義,只調(diào)用,編譯不會出錯,但不能運(yùn)行(沒有函數(shù)實(shí)體)。如果想有運(yùn)行結(jié)果就必須將函數(shù)實(shí)體包含進(jìn)來,所以文件包含和extern是配合使用的。
可以說是對的,因?yàn)閏語言函數(shù)內(nèi)部不允許再定義函數(shù)。
這個最好是寫上,不寫有警告,應(yīng)該是你用的編譯器隱含的自動添加了這個頭文件,因?yàn)槟闶褂玫挠衟rintf函數(shù),這個函數(shù)就是在stdio.h里邊聲明的,類似于你調(diào)用了外部函數(shù)printf,這是C或者c++語言里C和H文件的用法。
有兩種方法:1。在Ac中有完整的函數(shù)定義,在Ac中添加一下要用到的函數(shù)原型就可以了,例如:在Ac中:有函數(shù)void A2(){...};在Ac中:在文件前頭增加一行:void A2();就可以了 2。
include。加入外部文件,就可以使用外部文件的函數(shù)了。include放在代碼文件頭,用于告訴編譯器,文件中包含的頭文件,屬于預(yù)處理文件的一部分 。
打開CFree,按ctrl加N創(chuàng)建一個新的文件。然后開始調(diào)用函數(shù)。按F9進(jìn)行調(diào)試后發(fā)現(xiàn)沒有錯誤。按F5執(zhí)行程序。輸入想要輸入的數(shù)字。按ENTER鍵輸出結(jié)果,檢驗(yàn)符合結(jié)果,說明函數(shù)調(diào)用成功。
一個.h文件要 對應(yīng)有一個.c文件,這樣鏈接器就可以調(diào)用這個文件里的函數(shù)。比如a.h 和 a.c。
main()中的extem a;改為extem int a; extem用于將用于將其他源文件的函數(shù)或變量的作用范圍擴(kuò)大到整個程序。
當(dāng)一個源程序由多個源文件組成時,C語言根據(jù)函數(shù)能否被其它源文件中的函數(shù)調(diào)用,將函數(shù)分為內(nèi)部函數(shù)和外部函數(shù)。
對于你提的問題,你要明白的是作用域,在不用的地方申明,那作用域也就不同,那么在main里邊聲明也就只能在main函數(shù)里起作用(函數(shù)內(nèi)聲明叫局部聲明,反之在函數(shù)外部聲明就叫全局聲明)。
內(nèi)部函數(shù):如果一個函數(shù)只能被本文件中其他函數(shù)所調(diào)用,它稱為內(nèi)部函數(shù)。
第一, 代碼在內(nèi)部不過是因?yàn)槟愕膮?shù)用到student類型,那個時候student類型還沒有了,程序怎么能過呢。第二,外部實(shí)現(xiàn)一般都是實(shí)現(xiàn)的virtual函數(shù),這相當(dāng)于一個接口。
可以說是對的,因?yàn)閏語言函數(shù)內(nèi)部不允許再定義函數(shù)。
C語言外部函數(shù)是一種可在自身所處的源文件及其他源文件中都能被調(diào)用的函數(shù)。外部函數(shù)的作用域是整個源程序。
C語言函數(shù)內(nèi)不能定義函數(shù),既不能嵌套定義,所以C不對。排除法也知道是D了。當(dāng)然由“函數(shù)內(nèi)不能定義函數(shù)”也可以推出所有函數(shù)都是外部函數(shù)。—— 其實(shí)這種說法對外部函數(shù)的理解也還值得商榷。
B. 過程和函數(shù)是典型的PASCAL風(fēng)格,二者的區(qū)別是:函數(shù)據(jù)有返回值,過程沒有。C語言統(tǒng)一了二者,用返回值為void的函數(shù)代替了過程。因此C中沒有函數(shù) C. 這也是PASCAL的風(fēng)格。
當(dāng)一個源程序由多個源文件組成時,C語言根據(jù)函數(shù)能否被其它源文件中的函數(shù)調(diào)用,將函數(shù)分為內(nèi)部函數(shù)和外部函數(shù)。