91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

什么是頭文件?頭文件編寫的一般格式要求是怎樣?

冬至子 ? 來源:沙鷗筆記 ? 作者:沙鷗筆記 ? 2023-11-08 16:25 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

本文介紹頭文件的定義、編寫、保存及引用等方面的內(nèi)容,包括了一般的格式要求、例程等。

什么是頭文件?

頭文件在C語言程序開發(fā)中一般來說是必需的,一般在C程序的開頭就得引用頭文件。

頭文件作為一種包含功能函數(shù)、數(shù)據(jù)接口聲明的載體文件,主要用于保存程序的聲明,而定義文件用于保存程序的實現(xiàn)。

為什么要用頭文件?

如果沒有頭文件,那么定義只有就在C文件中進(jìn)行,有幾個壞處:

->不便于閱讀。定義和功能代碼放在一起,可讀性變差;

->重復(fù)勞動,增加程序量。在各個C文件中,只要用到了就得重新定義一下,重復(fù)的代碼會變多等。

如需項目開發(fā)定制,可Q-Q: 2531二六3726。

頭文件編寫的一般格式要求是怎樣?

很多東西都有格式的,按照格式來做一般不會出錯。圖 1為頭文件定義的一般結(jié)構(gòu)。

開頭的#ifndef和最后的#endif需要成對出現(xiàn),它的含義為假如沒有定義某文件的話,那么執(zhí)行某些操作。在#ifndef和#endif之間可以編寫頭文件定義的代碼,如載入其他頭文件、引腳定義、子程序預(yù)定義等的。

下表給出了圖 1中部分代碼的解釋。

表 1 圖1的要點解釋

一個頭文件編寫的例子

有個例子,會有更加生動的理解。圖 2為一個頭文件定義的例子,頭文件的名字位relaycontrol.h,這個頭文件里包含了載入其他頭文件、引腳定義、符號變量定義、子程序預(yù)定義等內(nèi)容。

頭文件的保存方法

保存頭文件一般有2種方法:

(1)、在keil中保存H文件:如例,假如在keil中新建了H文件,編寫完頭文件代碼后,點擊保存按鈕,命名后保存在電腦硬盤(與引用它的C文件在同一個文件夾)里即可,本例中保存的頭文件為relaycontrol.h。

(2)、在電腦里新建一個TXT文件,再改擴(kuò)展名為.h:在電腦硬盤(與引用它的C文件在同一個文件夾)中新建一個txt文件,寫入頭文件代碼,保存,并改擴(kuò)展名為.h。本例中將這個txt文件名及擴(kuò)展名改為relaycontrol.h。

怎么在C程序中引用頭文件?

在C程序中,頭文件需要先引用后才能使用,一般引用頭文件放在程序的開頭位置。

在C文件中引用頭文件的方法很簡單,就是在程序中用“#include”指令把相應(yīng)的頭文件載入就行了。

引用后,在這個C文件中就能使用頭文件里已經(jīng)定義的內(nèi)容,如定義的引腳、符號變量和子程序等。

是否需要幫助?

提供單片機(jī)、PLC、電路板、控制器/箱、儀器儀表、機(jī)電設(shè)備或系統(tǒng)、自動化、工控、傳感、數(shù)據(jù)采集、自控系統(tǒng)、控制系統(tǒng),軟件、APP開發(fā)設(shè)計定制訂做。如有項目需要,可Q:2531二六3726。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • C語言
    +關(guān)注

    關(guān)注

    183

    文章

    7644

    瀏覽量

    145544
  • 頭文件
    +關(guān)注

    關(guān)注

    0

    文章

    26

    瀏覽量

    10322
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    技術(shù)資訊 I 文詳解 STEP 文件

    本文要點STEP文件種廣泛使用的中性文件格式,用于交換3D計算機(jī)輔助設(shè)計(CAD)數(shù)據(jù)。STEP文件分為多種類型,適用于特定行業(yè)領(lǐng)域及產(chǎn)品開發(fā)的全流程。雖然STEP
    的頭像 發(fā)表于 02-06 16:08 ?714次閱讀
    技術(shù)資訊 I <b class='flag-5'>一</b>文詳解 STEP <b class='flag-5'>文件</b>

    VSCode + ESP-IDF環(huán)境下給ESP32-S3項目添加頭文件

    VSCode + ESP-IDF環(huán)境下給ESP32-S3項目添加頭文件
    的頭像 發(fā)表于 11-28 07:27 ?2288次閱讀

    RISC-V GCC編譯,如何添加math.h頭文件?

    在使用些數(shù)學(xué)函數(shù)(例如exp)時,需要添加math.h頭文件 risc-v embedded gcc在添加math.h函數(shù)時,會到riscv-none-embed/lib里尋找鏈接庫文件庫libm.a,但編譯顯示失?。簎nde
    發(fā)表于 11-10 07:50

    基于蜂鳥E203添加完外設(shè)后軟件頭文件添加過程

    對應(yīng)的頭文件,才可以在軟件代碼里調(diào)用。platform.h文件定義了SoC平臺相關(guān)的宏定義。在里面添加下圖所示代碼。 AES_CTRL_ADDR _AC(0x10041000,UL)表示AES模塊基地址為
    發(fā)表于 10-30 06:48

    頭文件保護(hù)失效,提示變量重復(fù)包含,是什么原因?qū)е碌模?/a>

    我自定了頭文件,而且使用了頭文件保護(hù)機(jī)制。但是在兩個源文件包含相同的頭文件時,依然提示某些變量重復(fù)包含。想不出來問題在哪里。 這個
    發(fā)表于 10-09 06:19

    RT-thread源碼scons --dist --target=vsc;STM32L475-pandora沒有STM32L4xx.h頭文件是怎么回事?

    原因是這個文件夾沒有stm32L4xx.h的頭文件
    發(fā)表于 09-28 13:00

    RTT如何添加文件夾并加入編譯?

    想把個新的工程文件夾(包含若干個源文件頭文件)放入同個工程內(nèi)編譯。 試了下把在文件系統(tǒng)添加
    發(fā)表于 09-15 07:50

    文讀懂WAV音頻文件格式

    本文主要為后面ESP32 I2S音頻系列文章做鋪墊,所以本篇將介紹WAV音頻文件格式,并通過C代碼生成段1S的正弦波WAV音頻寫入到SD卡里面。
    的頭像 發(fā)表于 08-25 17:49 ?5041次閱讀
    <b class='flag-5'>一</b>文讀懂WAV音頻<b class='flag-5'>文件格式</b>

    STM32CUBEIDE使用UCOS的時候,頭文件路徑已經(jīng)添加了,依舊提示未找到路徑怎么解決?

    在使用UCOS的時候,頭文件路徑已經(jīng)添加了,他依舊提示未找到路徑怎么解決
    發(fā)表于 07-25 06:28

    NCS怎么添加.c.h文件到工程

    Directories添加頭文件路徑 對工程或者文件夾鼠標(biāo)右擊就可以添加文件或者.c文件管理文件等操作。 可以看出,Segger添加源
    的頭像 發(fā)表于 06-27 14:48 ?1022次閱讀
    NCS怎么添加.c.h<b class='flag-5'>文件</b>到工程

    cypress3014在頭文件修改編譯后,時間不變,這樣頭文件的程序有被執(zhí)行嗎?

    你好,請問我在頭文件修改編譯后,時間不變,這樣頭文件的程序有被執(zhí)行嗎,怎么解決這個問題
    發(fā)表于 05-14 06:50

    使用OUT_REG3_VALID觸發(fā)條件時,GPIF II Designer生成無效的頭文件怎么解決?

    使用 OUT_REG3_VALID 觸發(fā)條件時,GPIF II Designer 生成無效的頭文件
    發(fā)表于 04-30 06:47

    頭文件類型定義

    // 開關(guān)#define ?SW_ON ? ? ? ? ? ? ??1#define ?SW_OFF ? ? ? ? ? ? ?2#define ?SW_INVERT ? ? ? ? ??3?// 右移位替代除法#define ?SHIFT
    發(fā)表于 03-24 18:17 ?0次下載

    在TouchFX Designer中運行工程,提示頭文件找不到,為什么?

    我在TouchFX Designer 中運行工程,提示頭文件找不到。 但是在keil中是可以編譯通過的。 請問如何添加編譯的頭文件到設(shè)計器中。
    發(fā)表于 03-13 08:20

    STM32CubeMX生成代碼就會覆蓋CMakeLists.txt文件,怎么解決?

    請教下用STM32CubeMX生成代碼后,我自己加了頭文件和源文件,這些自己加的文件不是要配置到CMakeLists.txt編譯么,但
    發(fā)表于 03-12 08:03