在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

C語言為什么不需要包含stdio.h

學益得智能硬件 ? 來源:學益得智能硬件 ? 2024-10-29 15:48 ? 次閱讀

我們在寫單片機程序的時候,第一行都會包含 reg51.h,于是就有同學提出了疑問,為什么不需要包含 stdio.h?

如果從C語言本身來講,一個完整的 C 代碼并不需要包含頭文件。

標準中也提到,程序的入口是 main 函數,它應該有個整型返回值,參數可有可無。

所以一個最簡單的 C 代碼應該是這樣。

int main(void)
{
    return 0;
}

至于它的返回值,即使寫成 void,很多編譯器也不會提示問題。

那我們學習C語言的時候,為什么在第一行加上 stdio.h?

因為在代碼中用到了 printf,使用函數,就得提前聲明,告訴編譯器它是個函數,并且函數原型是什么樣。

而 printf 函數的聲明,就放在了 stdio.h 里面。

如果程序里面用不到輸入輸出相關的函數,完全可以不包含 stdio.h。

再回到 51 單片機上。

作為一個裸機程序,很多時候,我們用不到 printf,所以也就很少包含 stdio.h。

包含 reg51.h,主要還是因為這里面定義了很多寄存器,比如點燈需要用到的 P1 等等,打開 reg51.h,你會發現,它其實就是個地址。

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

    關注

    6044

    文章

    44628

    瀏覽量

    638987
  • C語言
    +關注

    關注

    180

    文章

    7615

    瀏覽量

    137840
  • 函數
    +關注

    關注

    3

    文章

    4346

    瀏覽量

    63018
  • 編譯器
    +關注

    關注

    1

    文章

    1642

    瀏覽量

    49318

原文標題:C語言并不是非要包含stdio.h

文章出處:【微信號:學益得智能硬件,微信公眾號:學益得智能硬件】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    庫文件stdlib.hstdio.h不支持utoa()和snprintf()

    ; gt;但是函數只是把錯誤拋在上面。但并非總是如此。我想我需要知道STDLIB。hSTDIOh實際上是如何加載到項目中的,以及從何處來的。什么是對標準的內置庫文件進行更改,這些文
    發表于 01-11 11:21

    ucos在PC機上的應用提示無法打開stdio.h文件

    為什么我編譯#includevoid main(){while(1){printf("hello world\n");}}老是提示無法打開stdio.h文件?求大神解答
    發表于 04-28 23:13

    為什么燒寫stdio.h屏幕會發黑?

    燒寫stdio.h屏幕發黑 什么原因?
    發表于 08-23 05:45

    在嵌入式處理器環境中為什么匯編語言不需要堆棧?

    在嵌入式處理器環境中,為何C語言(函數調用)需要堆棧,而匯編語言不需要堆棧?據我所知,c
    發表于 03-20 04:35

    嵌入式開發中C語言編程的相關資料分享

    ,使用庫函數是不可避免的。關于使用庫函數的最簡單的例子就是printf()。在Linux環境下的C語言編程中,庫函數包括兩個部分:一種是C語言的標準庫函數,例如
    發表于 12-15 06:13

    編譯顯示fatal error: stdio.h: No such file or directory怎么解決?

    在編譯通過命令arm-poky-linux-gnueabi-gcc test.c,編譯程序時,顯示fatal error: stdio.h: No such file or directory,用gcc編譯不會報錯!
    發表于 01-10 06:35

    arm-poky-linux-gnueabi-gcc 編譯提示找不到stdio.h怎么辦?

    了一個helloworld 的程序,通過arm-poky-linux-gnueabi-gcc 編譯提示找不到stdio.h,試了網上的安裝lib6-dev 不行,求解決!!!!hello程序如下
    發表于 11-28 06:01

    不需要場效應管的多路傳輸開關

    不需要場效應管的多路傳輸開關
    發表于 04-13 10:44 ?920次閱讀
    <b class='flag-5'>不需要</b>場效應管的多路傳輸開關

    基于單片機設計的軟件時鐘C語言程序

    本內容提供了基于單片機設計的軟件時鐘C語言程序 程序如下: #pragma db oe #include reg52.h #include absacc.h #include stri
    發表于 11-21 15:59 ?198次下載

    一些常見的C語言字符串操作

    ? #字符串倒序輸出 實現邏輯,通過strlen獲取字符串長度,然后通過 len/2 進行交叉賦值,這里需要注意,不需要考慮len是奇數還是偶數的問題。 如果len是奇數,最后一個字符就不需要倒序
    的頭像 發表于 12-24 16:31 ?2123次閱讀

    不需要電感器

    不需要電感器
    發表于 04-29 12:14 ?3次下載
    <b class='flag-5'>不需要</b>電感器

    C語言如何實現Hello xiaolin

    在上述程序里編譯預處理命令稱為文件包含命令,作用是在編譯之前把程序需要使用的關于系統定義的函數printf()的一些信息文件stdio.h包含進來。
    的頭像 發表于 03-08 16:06 ?383次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語言</b>如何實現Hello xiaolin

    不需要點表的工業網關”如何實現松下FPG-C32T2H數據采集和遠程維護的物聯網解決方案

    深控技術的 “不需要點表的工業網關” 實現松下 FPG-C32T2H 數據采集和遠程維護的物聯網解決方案
    的頭像 發表于 10-12 11:30 ?403次閱讀
    “<b class='flag-5'>不需要</b>點表的工業網關”如何實現松下FPG-<b class='flag-5'>C32T2H</b>數據采集和遠程維護的物聯網解決方案

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

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

    stdio.h實現了printf函數?

    我們平時包含stdio.h 頭文件,里面是不是實現了 printf 函數? 為什么會有這個疑問?因為每次使用 printf,就得包含 stdio.h ,這就導致很多同學誤以為,
    的頭像 發表于 12-18 10:28 ?282次閱讀
    主站蜘蛛池模板: 天天干夜夜躁 | 手机看片神马午夜片 | 97人人做人人添人人爱 | 思思久久好好热精品国产 | 亚洲三级成人 | 日本三级成人中文字幕乱码 | 亚洲国产精品婷婷久久 | 丁香伊人五月综合激激激 | 色香影院 | 一本到卡二卡三卡福利 | 8天堂资源在线 | 精品国产理论在线观看不卡 | 在线观看亚洲一区 | 亚洲成a人v在线观看 | 欧美成人自拍视频 | 91色视| 97爱sese| 免费一级大毛片a一观看不卡 | 欧美一级特黄aaaaaa在线看片 | 四虎影视永久在线观看 | 天天爽夜夜爽一区二区三区 | 亚洲狠狠97婷婷综合久久久久 | 特级毛片女人18毛片 | 欧美日韩中文字幕 | h小视频在线观看网 | 狠狠躁夜夜躁人人躁婷婷视频 | 国产亚洲3p无码一区二区 | 免费看黄资源大全高清 | 国产福利资源 | 欧美性free| 手机在线观看国产精选免费 | 免费看大尺度视频在线观看 | 一级特黄特色的免费大片视频 | 天天草视频 | 色妇女影院 | 国产在线视频你懂的 | 岛国片欧美一级毛片 | ak福利午夜在线观看 | 大量喷潮free | 国内亚州视频在线观看 | 国产精品久久免费观看 |