C語(yǔ)言頭文件的使用.doc

C語(yǔ)言頭文件的使用.doc

ID:62033336

大?。?5.50 KB

頁(yè)數(shù):10頁(yè)

時(shí)間:2021-04-15

C語(yǔ)言頭文件的使用.doc_第1頁(yè)
C語(yǔ)言頭文件的使用.doc_第2頁(yè)
C語(yǔ)言頭文件的使用.doc_第3頁(yè)
C語(yǔ)言頭文件的使用.doc_第4頁(yè)
C語(yǔ)言頭文件的使用.doc_第5頁(yè)
資源描述:

《C語(yǔ)言頭文件的使用.doc》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)

1、C語(yǔ)言頭文件的使用??????????????????????????????????????????????????????????????????——by janders?????????????????????????????????????????????????????????????????????轉(zhuǎn)載請(qǐng)注名作者和出處,謝謝!轉(zhuǎn)自http://blog。csdn.net/janders/Gallery/179942.a(chǎn)spxC語(yǔ)言中的.h文件和我認(rèn)識(shí)由來(lái)已久,其使用方法雖不十分復(fù)雜,但我卻是經(jīng)過(guò)了幾個(gè)月的“不懂”時(shí)期,幾年的“一知半解”時(shí)期才逐漸認(rèn)

2、識(shí)清楚他的本來(lái)面目。揪其原因,我的駑鈍和好學(xué)而不求甚解固然是原因之一,但另外還有其他原因。原因一:對(duì)于較小的項(xiàng)目,其作用不易被充分開(kāi)發(fā),換句話(huà)說(shuō)就是即使不知道他的詳細(xì)使用方法,項(xiàng)目照樣進(jìn)行,程序在計(jì)算機(jī)上照樣跑.原因二:現(xiàn)在的各種C語(yǔ)言書(shū)籍都是只對(duì)C語(yǔ)言的語(yǔ)法進(jìn)行詳細(xì)的不能再詳細(xì)的說(shuō)明,但對(duì)于整個(gè)程序的文件組織構(gòu)架卻只字不提,找了好幾本比較著名的C語(yǔ)言著作,卻沒(méi)有一個(gè)把.h文件的用法寫(xiě)的比較透徹的。下面我就斗膽提筆,來(lái)按照我對(duì).h的認(rèn)識(shí)思路,向大家介紹一下。?讓我們的思緒乘著時(shí)間機(jī)器回到大學(xué)一年級(jí).C原來(lái)老師正在講臺(tái)上講著我們的第一個(gè)C語(yǔ)言程序:Hellowo

3、rld!文件名First.cmain(){printf(“Helloworld!”);}  例程-1看看上面的程序,沒(méi)有。h文件.是的,就是沒(méi)有,世界上的萬(wàn)物都是經(jīng)歷從沒(méi)有到有的過(guò)程的,我們對(duì).h的認(rèn)識(shí),我想也需要從這個(gè)步驟開(kāi)始.這時(shí)確實(shí)不需要.h文件,因?yàn)檫@個(gè)程序太簡(jiǎn)單了,根本就不需要.那么如何才能需要呢?讓我們把這個(gè)程序變得稍微復(fù)雜些,請(qǐng)看下面這個(gè),文件名First。c?printStr(){?printf(“Helloworld!");}main(){printStr()}  例程—2?還是沒(méi)有,那就讓我們把這個(gè)程序再稍微改動(dòng)一下.?文件名First.c

4、main(){printStr()}??printStr(){ ?printf(“Helloworld!”);}  例程-3?等等,不就是改變了個(gè)順序嘛, 但結(jié)果確是十分不同的.讓我們編譯一下例程—2和例程-3,你會(huì)發(fā)現(xiàn)例程-3是編譯不過(guò)的.這時(shí)需要我們來(lái)認(rèn)識(shí)一下另一個(gè)C語(yǔ)言中的概念:作用域.我們?cè)谶@里只講述與。h文件相關(guān)的頂層作用域, 頂層作用域就是從聲明點(diǎn)延伸到源程序文本結(jié)束,就printStr()這個(gè)函數(shù)來(lái)說(shuō),他沒(méi)有單獨(dú)的聲明,只有定義,那么就從他定義的行開(kāi)始,到first.c文件結(jié)束,也就是說(shuō),在在例程—2的main()函數(shù)的引用點(diǎn)上,已經(jīng)是他的作用域

5、。例程-3的main()函數(shù)的引用點(diǎn)上,還不是他的作用域,所以會(huì)編譯出錯(cuò). 這種情況怎么辦呢?有兩種方法,一個(gè)就是讓我們回到例程—2,順序?qū)ξ覀儊?lái)說(shuō)沒(méi)什么,誰(shuí)先誰(shuí)后不一樣呢,只要能編譯通過(guò),程序能運(yùn)行, 就讓main()文件總是放到最后吧。那就讓我們來(lái)看另一個(gè)例程,讓我們看看這個(gè)方法是不是在任何時(shí)候都會(huì)起作用.文件名First.cplay2(){ play1()}play1(){play2()??}main(){play1()}例程-4?也許大部分都會(huì)看出來(lái)了,這就是經(jīng)常用到的一種算法,函數(shù)嵌套,那么讓我們看看, play1和play2這兩個(gè)函數(shù)哪個(gè)放到前面呢

6、??這時(shí)就需要我們來(lái)使用第二種方法,使用聲明。文件名 First。cplay1();play2();play2(){ play1()}play1(){ play2());}main(){play1()}例程-4?經(jīng)歷了我的半天的嘮叨, 加上四個(gè)例程的說(shuō)明,我們終于開(kāi)始了用量變引起的質(zhì)變, 這篇文章的主題。h文件快要出現(xiàn)了.一個(gè)大型的軟件項(xiàng)目,可能有幾千個(gè),上萬(wàn)個(gè)play,而不只是play1,play2這么簡(jiǎn)單,這樣就可能有N個(gè)類(lèi)似play1(); play2();這樣的聲明,這個(gè)時(shí)候就需要我們想辦法把這樣的play1();play2();也另行管理,而不是把他

7、放在.c文件中,于是.h文件出現(xiàn)了。?文件名First.hplay1();play2();文件名First.C#include“first。h”play2(){?。餷ay1()}play1(){?play2()}main(){play1()}例程-4?各位有可能會(huì)說(shuō),這位janders大蝦也太羅嗦了,上面這些我也知道,你還講了這么半天,請(qǐng)?jiān)?如果說(shuō)上面的內(nèi)容80%的人都知道的話(huà),那么我保證,下面的內(nèi)容,80%的人都不完全知道.而且這也是我講述一件事的一貫作風(fēng),我總是想把一個(gè)東西說(shuō)明白,讓那些剛剛接觸C的人也一樣明白。上面是.h文件的最基本的功能,那么.h文件

8、還有什么別的功能呢? 讓我來(lái)描述一下我

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫(huà)的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶(hù)上傳,版權(quán)歸屬用戶(hù),天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶(hù)請(qǐng)聯(lián)系客服處理。