1.
目前創(chuàng)新互聯(lián)公司已為超過(guò)千家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)站空間、網(wǎng)站改版維護(hù)、企業(yè)網(wǎng)站設(shè)計(jì)、阜陽(yáng)網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶(hù)導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶(hù)和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。
請(qǐng)使用預(yù)編譯指令
#include。加入外部文件,就可以使用外部文件的函數(shù)了。
#include放在代碼文件頭,用于告訴編譯器,文件中包含的頭文件,屬于預(yù)處理文件的一部分
。
語(yǔ)法為:
#include
iostream.h
(這句是程序編譯時(shí)搜索系統(tǒng)目錄文件)
#include
“HName.h"
(這句是程序編譯時(shí)搜索當(dāng)前項(xiàng)目的文件)
2.
例如:
//函數(shù)實(shí)現(xiàn) a.c文件:
int add(int x, int y){
return x+y;
}
//主文件 main.c文件:
#include stdio.h
#include "a.c" //引入外部函數(shù)
int main(){
int i;
i = add(1,2);
printf("%d",i);
return 0;
}
兩個(gè)可以放在同一目錄下,也可以放到不同的目錄下,前提是你在主函數(shù)文件中應(yīng)當(dāng)包含相應(yīng)的頭文件或C文件(路徑寫(xiě)對(duì)應(yīng),寫(xiě)完整就好)。
外部函數(shù)文件根據(jù)所寫(xiě)函數(shù)需要將對(duì)應(yīng)頭文件包含進(jìn)來(lái),stdio.h作為一個(gè)標(biāo)準(zhǔn)輸入輸出文件,只要你該外部文件內(nèi)涉及到輸入輸出等操作,就是必須要包含進(jìn)來(lái)的。
希望對(duì)你有所幫助!
內(nèi)部函數(shù)跟外部函數(shù)的區(qū)別在于:一個(gè)文件中定義的函數(shù)能否被其它文件調(diào)用。能被調(diào)用的函數(shù)在前面加extern(一般省略),而不能被調(diào)用的加static(不能省略),通常函數(shù)本質(zhì)上是全局的,也就是外部的可調(diào)用的。
我們通常調(diào)用的#include本質(zhì)上就是一些外部函數(shù)的集合,由于在一個(gè)文件中的函數(shù)要調(diào)用另外一個(gè)文件的函數(shù),要求在開(kāi)始聲明一下,為了省略這些聲明,我們引用include命令。
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ù))。