两个吃奶一个添下面视频_人妻第一页香蕉网_欧美xxxx少妇_妺妺窝人体色www婷婷

  • 歡迎訪問C語言網(wǎng)www.sztianhecheng.cn 比賽欄每月有獎月賽!舉辦比賽聯(lián)系QQ:2045302297
  • 問題反饋、粉絲交流 QQ群327452739 藍橋杯訓(xùn)練群:113766799 申請群時請備注排名里的昵稱
  • C語言研究中心 為您提供有圖、有料、解渴的C語言專題! 歡迎討論!

三問C語言頭文件:什么是頭文件?頭文件作用是什么?如何包含頭文件?

C語言研究中心 CTO 82945次瀏覽 7個評論

很多初學(xué)朋友在看C程序開頭往往都是

#include<stdio.h>

#include<math.h>

#include<conio.h>

#include… …

中的一個或幾個~,相信大家也知道這就是所謂的”包含頭文件”,每次我們都會這樣寫,那到底頭文件是什么,有何作用,又如何包含它?今天為大家揭開它!

 

(1)什么是頭文件?

我們以最簡單的hello world為例,代碼如下:

#include<stdio.h>
int  main()
{
	printf(“hello world!\n”);
	return 0;
}

這個程序就有一個文件包含。也就是stdio.h這文件,這是一個名字叫stdio,后綴為.h的文件,其實和我們在日常用的txt文本文件并無兩樣,都是我們能看懂的字符,只不過是英文而已,不信可以找到它看看,以VC6為例,可以找到VC6編譯器下VC6.0 完整綠色版\VC98\Include\目錄,即可看到stdio.h文件。

三問C語言頭文件:什么是頭文件?頭文件作用是什么?如何包含頭文件?

也可以直接在程序當(dāng)中,右鍵頭文件點擊打開,也可以直接打開stdio.h的內(nèi)容,如下圖:

三問C語言頭文件:什么是頭文件?頭文件作用是什么?如何包含頭文件?

 

打開stdio.h文件后,如下圖:

三問C語言頭文件:什么是頭文件?頭文件作用是什么?如何包含頭文件?

 

怎么樣,看到了嗎?這就是stdio.h的內(nèi)容,只不過英文而已!說白了,它其實和txt的文本文件差不多!只不過后綴名是.h而已!

這就是頭文件的真實面目!怎么樣,明白了嗎?

 

(2)頭文件的作用

那么看清之后,接下來我們來說一說,頭文件的作用吧

還是以hello world這個程序為例,相信很多朋友想過:明明就顯示一句話”Hello world”竟然足足寫了五六行代碼,而真正有用的可能就那句printf了,其他都是什么鬼,比如第一句那個#include<stdio.h> ,它是什么鬼?寫它有用嗎? 我刪了它一樣運行顯示Hello world啊!

沒錯,在VC6環(huán)境下,即使Hello world這個程序去掉第一行的文件包含也就是#include<stdio.h>這句話程序仍然可以編譯成功并且運行!但不同的是大家需要注意這個時候編譯是有一個警告的!

三問C語言頭文件:什么是頭文件?頭文件作用是什么?如何包含頭文件?

怎么樣?看懂了嗎? 是提示你printf這個函數(shù)沒有定義! (printf并不屬于C語言本身,不懂的同學(xué)請自行補腦),那難道加上#include<stdio.h>就算定義了嗎?答:是的

怎么講?因為在stdio.h這個頭文件中有關(guān)于printf的定義,大家可以在打開stdio.h后搜索printf

 

三問C語言頭文件:什么是頭文件?頭文件作用是什么?如何包含頭文件?

 

 

這個就是關(guān)于printf的定義(仔細搜,因為可能會搜到名字和它類似的fprintf函數(shù))

可以這么打個比方:編譯器好比是你的管家,負責(zé)家(程序)的安全,一經(jīng)發(fā)現(xiàn)任何可疑的人員都禁止進屋!而printf就這么被抓住了!你既然想讓它進屋,能做的,就是提前告訴管家我要讓它進來,也就是提前聲明。可時間一長,你發(fā)現(xiàn)有很多這樣的人想讓進來,每次都一個個聲明太累了,索性就建立一個白名單,把想讓進屋的人都寫進去,都聲明起來,到時候讓管家看白名單得了!于是乎,就有了頭文件的樣子,也就是包含頭文件。#include<stdio.h>這句話。

但凡想用到誰,就包含含有誰的頭文件。

比如你用printf函數(shù)打印東西,那你就要包含stdio.h的頭文件

如果你用pow函數(shù)算多立方,那你就要包含math.h的頭文件

如果你要用strcmp函數(shù)接收一個字符,那你就要包含string.h的頭文件

…???????????????????????????????????????????????????????????? …

怎么樣,想明白了嗎?

 

(3)頭文件如何被包含?

最后,在看一個C語言是如何”包含”這些頭文件的,答案就是#include這個預(yù)處理命令!

所謂預(yù)處理,即可以在編譯器編譯之前,做一些預(yù)先要做的準(zhǔn)備工作,比如宏替換、展開等等,而包含頭文件其實也就是把頭文件里的內(nèi)容原封不動的放到程序的最前面,僅此而已!

還不信?來動手試試,依舊以Hello world為例

 

#include<stdio.h>
int? main()
{
    printf(“hello world!\n”);
    return 0;
}

先刪除掉#include<stdio.h>這句話,然后將stdio.h中的內(nèi)容復(fù)制到你的主函數(shù)前面,變成這樣:

三問C語言頭文件:什么是頭文件?頭文件作用是什么?如何包含頭文件?

 

然后,編譯試試,看看編譯結(jié)果!

 

怎么樣,這下,徹底懂了嗎?

 

 

 

如果對您有幫助,歡迎評論、分享!

 

 

 

C語言研究中心(www.sztianhecheng.cn)

C語言網(wǎng)提供「C語言、C++、算法競賽」在線課程,全部由資深研發(fā)工程師或ACM金牌大佬親授課,更科學(xué)、全面的課程體系,以在線視頻+在線評測的學(xué)習(xí)模式學(xué)習(xí),學(xué)練同步,拒絕理論派,真正學(xué)會編程!還有獎學(xué)金等增值福利等你!

C語言網(wǎng), 版權(quán)所有丨如未注明 , 均為原創(chuàng)丨本網(wǎng)站采用BY-NC-SA協(xié)議進行授權(quán) , 轉(zhuǎn)載請注明三問C語言頭文件:什么是頭文件?頭文件作用是什么?如何包含頭文件?!
喜歡 (538)
[jinyangH@aliyun.com]
分享 (0)
發(fā)表我的評論
取消評論
表情

Hi,您需要填寫昵稱和郵箱!

  • 昵稱 (必填)
  • 郵箱 (必填)
(7)個小伙伴在吐槽
  1. 只能以666形容
    天天向上2018-12-16 08:37 回復(fù)
  2. 大神求帶
    進行時程序員2019-07-17 11:35 回復(fù)
  3. 老是搞不懂啥是頭文件問誰stdio.h是啥他們也不清楚反正別人就是這么用的,看完這個終于懂了,666
    青楓2020-02-19 20:29 回復(fù)
  4. 還能說啥呢,只能說一句臥槽
    HelloC2020-10-10 12:10 回復(fù)
  5. 臥槽,牛逼
    一路向上2020-10-23 14:09 回復(fù)
  6. ??強
    Cbird2022-02-27 11:24 回復(fù)
  7. 謝謝??
    李夢洋2024-06-30 00:28 回復(fù)