色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

C語言頭文件是做什么的

Wildesbeast ? 來源:今日頭條 ? 作者:趣味c語言 ? 2020-02-13 15:29 ? 次閱讀

今天我們來聊聊C語言中的頭文件。

c語言程序代碼文件擴展名只能是.c或者.h,換句話說,c語言程序代碼只能在擴展名為.c或者.h的文件中編寫。我們把.h文件稱為頭文件。頭文件可以在.c文件中引用,也可以在.h文件中引用。

頭文件是做什么用的呢?我們來看一段程序代碼。

左邊是源代碼,右邊是執行結果。這段代碼的功能是打印出字符串“Hello, World!”。

我們能看到,源代碼文件第一行是"#include ",也就是引用了頭文件stdio.h。現在我們把這一行去掉,再執行一下看看結果。

注:c語言中行前加雙斜線“//”代表注釋掉這一行,也就是去掉這一行代碼。

這時我們發現執行后右邊的結果欄出現了報錯,為什么呢?這是因為打印語句是printf函數輸出的,而printf函數是在頭文件stdio.h中聲明的,把引用stdio.h這一行去掉,代碼在編譯時就找不到printf這個函數,所以就報錯了。

有的朋友問,我們不引用頭文件,把printf函數放在.c文件里可以嗎?當然可以。但是printf屬于通用函數,幾乎每個.c文件都會用到,像這樣使用頻率極高的函數有很多,甚至有幾百個,一個項目里的.c文件也有很多,每個.c文件里放幾百個函數聲明,是不是很難看?況且我們只想直接調用這些函數,根本不關心這些函數長什么樣子,又何必把它羅列在我們的.c文件中?

c語言為我們實現了許多通用的函數,比如拷貝函數、比較函數等等,放在一個通用的函數庫中供我們直接使用,而這些函數的聲明就放在一些標準的頭文件中,stdio.h就是標準頭文件之一,我們只要引用這些頭文件,就可以直接調用頭文件中聲明的函數,而無需自己去實現這些函數了。當然,除了可以引用標準頭文件,我們也可以根據實際需求,自己創建和編寫頭文件。

那么頭文件的內容只能是函數聲明嗎?當然不是。除了函數聲明,變量定義、結構定義、宏定義都可以放在頭文件中,如果你覺得你寫的某個函數使用率很高,也可以把它放在頭文件中。總而言之,通用的東西都可以放在頭文件中。

頭文件的引用可以寫成“#include ",也可以寫成"#include "stdio.h" ", 像下圖一樣。

頭文件用尖括號括起來和用引號括起來意義是不同的,前者意思是讓編譯器直接去c函數庫里或者用戶配置的路徑去查找,而不會在當前目錄去查找。后者意思是讓編譯器先在當前目錄去找,如果當前目錄找不到,再去c函數庫里或者用戶配置的路徑去查找。這里所說的當前目錄,大家可以理解為引用頭文件的文件所在的目錄。

好了,今天就跟大家分享到這里。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • C語言
    +關注

    關注

    180

    文章

    7608

    瀏覽量

    137130
  • 代碼
    +關注

    關注

    30

    文章

    4802

    瀏覽量

    68746
收藏 人收藏

    評論

    相關推薦

    AI工作流自動化是做什么的

    AI工作流自動化是指利用人工智能技術,對工作流程中的重復性、規則明確的任務進行自動化處理的過程。那么,AI工作流自動化是做什么的呢?接下來,AI部落小編為您分享。
    的頭像 發表于 01-06 17:57 ?76次閱讀

    請問DAC8814中的Pin22,AgndF是做什么的

    請問DAC8814中的Pin22,AgndF是做什么的?說明寫的High current analog force ground.不是很明白 還有就是輸入時鐘頻率Fclk為什么是最小50MHz,低于五十兆的時鐘不能驅動嗎? 多謝
    發表于 01-03 08:31

    ADS1192擁有的兩個GPIO1和GPIO2,是用來做什么的

    看完ADS1192的芯片手冊,總結出下列幾個不解之處: 1、管腳不理解: a,關于芯片擁有的兩個GPIO1和GPIO2,是用來做什么的? b、芯片位雙通道,為什么還會有個IN3管腳 c、既然是
    發表于 12-30 07:04

    在ads1261的通用c語言例程中的390行的if是用來區分什么的呢?

    你好我想知道在ads1261的通用c語言例程中的390行的if是用來區分什么的呢,在讀取數據中什么情況下取ff,什么情況寫取00呢
    發表于 11-27 07:58

    C語言中的頭文件能不能重復包含

    C語言中的頭文件能不能重復包含? 比如代碼寫成這樣,stdio.h 連續包含了兩次。 #include #include int main(){ printf("helloworld
    的頭像 發表于 11-26 17:19 ?189次閱讀

    音頻子系統主要是用來做什么的,可以用來做PCM編碼器嗎?

    請問,音頻子系統主要是用來做什么的,可以用來做PCM編碼器嗎?支持PCM編碼輸出嗎?
    發表于 11-07 07:38

    hex文件怎么能轉回去c語言

    將 .hex 文件直接“轉回去”為原始的C語言代碼是不可能的,因為 .hex 文件是編譯后的二進制文件,它包含了機器碼,這些機器碼是處理器可
    的頭像 發表于 09-02 10:46 ?2343次閱讀

    hex文件如何查看原c語言代碼

    直接將 .hex 文件轉換回原始的 C 語言代碼是不可能的,因為 .hex 文件是二進制文件,它包含了單片機程序編譯后的機器碼,這些機器碼與
    的頭像 發表于 09-02 10:37 ?2513次閱讀

    可重復頭文件的固定結構

    年輕人,你可曾記得,在修習C語言的時候,見過這樣的字句:在創建頭文件的時候,一定要加入保護宏。
    的頭像 發表于 08-29 10:23 ?363次閱讀
    可重復<b class='flag-5'>頭文件</b>的固定結構

    FX3工程導入后頭文件找不到是為什么?如何添加頭文件路徑?

    在網上參考別人的工程項目,但是載入進去之后發現它的頭文件都找不到,應該如何添加頭文件路徑?
    發表于 05-27 07:53

    請問頭文件能不能定義變量呢?

    最近在編譯一個工程的時候,突然遇到了變量重復定義的問題,根據提示打開這幾個 C 文件,并沒有發現定義變量的地方。后來再找一找,原來變量定義在了頭文件里面。
    的頭像 發表于 04-28 09:33 ?1195次閱讀

    請問ucos libMicrium.a文件做什么的

    目前在做ucos cyclone上移植,發現官方例子里面用到了libgen目錄下libMicrium.a文件。請問這個文件做什么的? 這部分有源代碼嗎?
    發表于 04-15 08:07

    C語言中的頭文件

    #include 指令會指示 C 預處理器瀏覽指定的文件作為輸入。預處理器的輸出包含了已經生成的輸出,被引用文件生成的輸出以及 #include 指令之后的文本輸出。
    發表于 02-23 14:06 ?480次閱讀

    C語言中的動態內存管理講解

    本章將講解 C 中的動態內存管理。C 語言為內存的分配和管理提供了幾個函數。這些函數可以在 頭文件中找到。
    的頭像 發表于 02-23 14:03 ?403次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語言</b>中的動態內存管理講解

    在ADUCM360_project.c文件里面為什么添加DioLid.h頭文件會報錯?如何正確添加自己編寫的頭文件

    在ADUCM360_project.c文件里面為什么添加DioLid.h頭文件會報錯?怎么正確添加自己編寫的頭文件
    發表于 01-11 06:09
    主站蜘蛛池模板: 男男高h浪荡受h| 亚洲欧美日韩人成| 99久久久精品免费观看国产| 蜜桃精品成人影片| 草699一码二码三码四码| 涩涩电影网| 精品无码久久久久久动漫| 最新国产精品福利2020| 秋霞伦理机在线看片| 国产精选视频在线观看| 在线观看国产区| 日日摸天天添天天添无码蜜臀| 国产午夜永久福利视频在线观看 | 动漫女主被扒开双腿羞辱| 小黄文纯肉污到你湿| 久久中文字幕乱码免费| 成人无码在线超碰视频| 亚洲免费观看视频| 欧美多毛的大隂道| 国产毛片视频网站| bbwvideoa欧美老妇| 亚洲国产AV无码综合在线| 免费成年人在线视频| 国产精品视频在线自在线| 37大但人文艺术A级都市天气| 色综合伊人色综合网站| 久久伦理影院| 高清毛片一区二区三区| 18videosex性欧美黑色| 午夜AV亚洲一码二中文字幕青青| 龙广在线收听| 国产特级毛片AAAAAAA高清| 99国产在线视频有精品视频| 校园刺激全黄H全肉细节文| 欧美极限扩肛| 久久re热线视频国产| 国产97精品久久久天天A片| 中文字幕在线观看亚洲视频| 亚洲AV成人无码999WWW| 日韩精品熟女一区二区三区中文 | 97蜜桃123|