哈哈哈哈哈操欧洲电影,久草网在线,亚洲久久熟女熟妇视频,麻豆精品色,久久福利在线视频,日韩中文字幕的,淫乱毛视频一区,亚洲成人一二三,中文人妻日韩精品电影

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

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

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

C語言頭文件是做什么的

Wildesbeast ? 來源:今日頭條 ? 作者:趣味c語言 ? 2020-02-13 15:29 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

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

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

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

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

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

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

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

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

那么頭文件的內(nèi)容只能是函數(shù)聲明嗎?當然不是。除了函數(shù)聲明,變量定義、結(jié)構(gòu)定義、宏定義都可以放在頭文件中,如果你覺得你寫的某個函數(shù)使用率很高,也可以把它放在頭文件中??偠灾?,通用的東西都可以放在頭文件中。

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

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

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

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

    關(guān)注

    183

    文章

    7645

    瀏覽量

    146083
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4975

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    C語言主要特點

    C語言的主要特點有: 1.語言簡潔、緊湊,使用方便、靈活 。C語言一共只有32個關(guān)鍵字、9種控制語句,程序書寫形式自由,主要用小寫字母表示,
    發(fā)表于 01-05 07:41

    請問如何實現(xiàn)C語言訪問MCU寄存器?

    單片機的特殊功能寄存器SFR,是SRAM地址已經(jīng)確定的SRAM單元,在C語言環(huán)境下對其訪問歸納起來有兩種方法。 采用標準C的強制類型轉(zhuǎn)換和指針來實現(xiàn)   采用標準C的強制轉(zhuǎn)換和指針的概
    發(fā)表于 12-26 07:00

    如何用好 C 語言函數(shù)的返回值?

    大多數(shù)同行愉快的使用,最好遵守下“行業(yè)潛規(guī)則”。 當然了,若是**我們的C語言代碼應用性更廣,則可以使用標準頭文件里預先定義好的 EXIT_SUCCESS 和 EXIT_FAILURE 宏。
    發(fā)表于 12-25 07:17

    C語言C++的區(qū)別及聯(lián)系

    缺點:性能比面向過程低。 二、具體語言上的區(qū)別 1、關(guān)鍵字的不同 C語言有32個關(guān)鍵字;C++有63個關(guān)鍵字。 2、后綴名不同 C
    發(fā)表于 12-24 07:23

    單片機C語言編程的心得

    時,發(fā)現(xiàn)別人寫的嚴格的程序都帶有一個“KEY.H”,里面定義了.C文件里用到的自己寫的函數(shù),如Keyhit()、Keyscan()等。 經(jīng)過查找資料得知,.H文件就是頭文件,估計就是
    發(fā)表于 12-08 07:44

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

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

    C語言特性

    1、高效性:直接操作硬件 C 語言代碼的執(zhí)行效率極高,這是其最為顯著的優(yōu)勢之一。它能夠直接訪問硬件資源,與底層硬件進行緊密交互,充分發(fā)揮硬件的性能潛力。在嵌入式開發(fā)中,硬件資源往往十分有限,對程序
    發(fā)表于 11-24 07:01

    C語言和單片機C語言有什么差異

    的目標代碼短、運行速度高、存儲空間小、符合C語言的ANSI標準,生成的代碼遵循Intel目標文件格式,而且可與A51匯編語言PL/M51語言
    發(fā)表于 11-14 07:55

    nuclei studio生成的c語言文件是不支持c的語法嗎?

    nuclei studio 生成的c語言文件感覺不支持c的語法,因為剛使用這個軟件,還請各位大佬幫忙看看
    發(fā)表于 10-20 11:02

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

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

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

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

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

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

    人工智能是做什么的

    在當今科技日新月異的時代,人工智能(ArtificialIntelligence,簡稱AI)已成為推動社會進步和經(jīng)濟發(fā)展的重要力量。本文旨在深入探討人工智能的核心功能、應用領(lǐng)域,并通過具體實例解析其如何改變我們的生活與工作方式。同時,我們還將介紹萬達寶LAIDFU(來福)作為無限AI助理的一些獨特功能,如數(shù)據(jù)分區(qū)設計和用戶自定義嵌入屬性,以展示AI技術(shù)的最新
    的頭像 發(fā)表于 05-30 10:04 ?1002次閱讀
    人工智能是<b class='flag-5'>做什么的</b>

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

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

    深入理解C語言C語言循環(huán)控制

    C語言編程中,循環(huán)結(jié)構(gòu)是至關(guān)重要的,它可以讓程序重復執(zhí)行特定的代碼塊,從而提高編程效率。然而,為了避免程序進入無限循環(huán),C語言提供了多種循環(huán)控制語句,如break、continue和
    的頭像 發(fā)表于 04-29 18:49 ?2190次閱讀
    深入理解<b class='flag-5'>C</b><b class='flag-5'>語言</b>:<b class='flag-5'>C</b><b class='flag-5'>語言</b>循環(huán)控制
    宜君县| 兰考县| 开化县| 梁山县| 洪湖市| 亳州市| 古交市| 康定县| 龙游县| 屯门区| 耒阳市| 闽清县| 库车县| 无棣县| 武义县| 白河县| 石城县| 台湾省| 洪泽县| 当雄县| 杭锦旗| 桐梓县| 财经| 武宁县| 同仁县| 萝北县| 施甸县| 沧源| 邹城市| 阿克陶县| 台前县| 昭觉县| 长子县| 罗源县| 成都市| 临洮县| 商都县| 莲花县| 双牌县| 英德市| 聂拉木县|