亚洲精品久久久久久久久久久,亚洲国产精品一区二区制服,亚洲精品午夜精品,国产成人精品综合在线观看,最近2019中文字幕一页二页

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

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

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

C語言頭文件是做什么的

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

掃碼添加小助手

加入工程師交流群

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    關(guān)注

    183

    文章

    7638

    瀏覽量

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

    關(guān)注

    30

    文章

    4932

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

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

    nuclei studio 生成的c語言文件感覺不支持c的語法,因?yàn)閯偸褂眠@個(gè)軟件,還請(qǐng)各位大佬幫忙看看
    發(fā)表于 10-20 11:02

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

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

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

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

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

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

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

    C語言編程中,循環(huán)結(jié)構(gòu)是至關(guān)重要的,它可以讓程序重復(fù)執(zhí)行特定的代碼塊,從而提高編程效率。然而,為了避免程序進(jìn)入無限循環(huán),C語言提供了多種循環(huán)控制語句,如break、continue和
    的頭像 發(fā)表于 04-29 18:49 ?1601次閱讀
    深入理解<b class='flag-5'>C</b><b class='flag-5'>語言</b>:<b class='flag-5'>C</b><b class='flag-5'>語言</b>循環(huán)控制

    新概念51單片機(jī)C語言教程入門、提高、開發(fā)、拓展全攻略

    1.6 單片機(jī)的C51基礎(chǔ)知識(shí)介紹 1.6.1 利用C語言開發(fā)單片機(jī)的優(yōu)點(diǎn) 1.6.2 C51中的基本數(shù)據(jù)類型 1.6.3 C51數(shù)據(jù)類型
    發(fā)表于 04-15 13:57

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

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

    如下圖所示,這個(gè)二極管是做什么的呢?

    如下圖所示,這個(gè)二極管是做什么的呢?歡迎大家交流。
    發(fā)表于 03-06 07:00

    AI工作流自動(dòng)化是做什么的

    AI工作流自動(dòng)化是指利用人工智能技術(shù),對(duì)工作流程中的重復(fù)性、規(guī)則明確的任務(wù)進(jìn)行自動(dòng)化處理的過程。那么,AI工作流自動(dòng)化是做什么的呢?接下來,AI部落小編為您分享。
    的頭像 發(fā)表于 01-06 17:57 ?1282次閱讀

    請(qǐng)問DAC8814中的Pin22,AgndF是做什么的?

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

    erf電纜是做什么的

    ERF電纜是一種采用交聯(lián)電纜用冷縮或熱縮附件的電纜,主要用于額定電壓6/1kV及以下配電網(wǎng)或工業(yè)裝置中的固定敷設(shè)。以下是關(guān)于ERF電纜的詳細(xì)介紹: 一、結(jié)構(gòu)特點(diǎn) 導(dǎo)體:ERF電纜由多股銅線和單股鋁線絞合而成,具有良好的導(dǎo)電性,適用于低損耗的場合。 絕緣層:其絕緣層一般采用乙丙橡膠或其他絕緣材料制成,且絕緣層一般比交聯(lián)絕緣厚0.5mm。 外套:部分ERF電纜采用優(yōu)質(zhì)橡膠材料作為外套,具備出色的耐磨、耐油及耐腐蝕性能。 二、性能特點(diǎn) 柔軟性
    的頭像 發(fā)表于 01-02 11:08 ?1998次閱讀

    ADS1192擁有的兩個(gè)GPIO1和GPIO2,是用來做什么的?

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

    ADS114S06 Demo代碼中找不到頭文件是怎么回事?

    ADS114S06提供的Demo軟件中沒有找到相應(yīng)的頭文件,搜索也是搜索不到相應(yīng)的頭文件的,一個(gè)個(gè)文件里面看也沒有找到。我準(zhǔn)備要移植到項(xiàng)目里面了,但是這些沒有頭文件,沒有定義的宏,
    發(fā)表于 11-28 06:41

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

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

    C語言中的頭文件能不能重復(fù)包含

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