外部函數(shù)extern時聲明這個函數(shù)為外部函數(shù),本文件不做定義,只調(diào)用,編譯不會出錯,但不能運(yùn)行(沒有函數(shù)實(shí)體)。如果想有運(yùn)行結(jié)果就必須將函數(shù)實(shí)體包含進(jìn)來,所以文件包含和extern是配合使用的。
創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)、南岳網(wǎng)絡(luò)推廣、小程序開發(fā)、南岳網(wǎng)絡(luò)營銷、南岳企業(yè)策劃、南岳品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎;創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供南岳建站搭建服務(wù),24小時服務(wù)熱線:18982081108,官方網(wǎng)址:www.cdcxhl.com
兩個可以放在同一目錄下,也可以放到不同的目錄下,前提是你在主函數(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)用的。
1、C語言外部函數(shù)是一種可在自身所處的源文件及其他源文件中都能被調(diào)用的函數(shù)。外部函數(shù)的作用域是整個源程序。
2、C語言函數(shù)內(nèi)不能定義函數(shù),既不能嵌套定義,所以C不對。排除法也知道是D了。當(dāng)然由“函數(shù)內(nèi)不能定義函數(shù)”也可以推出所有函數(shù)都是外部函數(shù)?!?其實(shí)這種說法對外部函數(shù)的理解也還值得商榷。
3、在C語言中,所有的函數(shù)在本質(zhì)上都是外部函數(shù)。函數(shù)定義時用extern進(jìn)行說明稱為外部函數(shù)。函數(shù)的隱含類別為外部函數(shù),外部函數(shù)可以被其他文件調(diào)用。定義函數(shù)時用static進(jìn)行說明稱為靜態(tài)函數(shù),也稱內(nèi)部函數(shù)。
定義在當(dāng)前翻譯單元(一般是.c文件包含了頭文件之后的結(jié)果)外,以extern前綴聲明的函數(shù)對于當(dāng)前翻譯單元來說是外部函數(shù)。它提示編譯器,假定這個函數(shù)的定義存在,但不在當(dāng)前翻譯單元中。
內(nèi)部函數(shù):如果一個函數(shù)只能被本文件中其他函數(shù)所調(diào)用,它稱為內(nèi)部函數(shù)。
C語言外部函數(shù)是一種可在自身所處的源文件及其他源文件中都能被調(diào)用的函數(shù)。外部函數(shù)的作用域是整個源程序。
第一, 代碼在內(nèi)部不過是因?yàn)槟愕膮?shù)用到student類型,那個時候student類型還沒有了,程序怎么能過呢。第二,外部實(shí)現(xiàn)一般都是實(shí)現(xiàn)的virtual函數(shù),這相當(dāng)于一個接口。