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

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

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

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

C語(yǔ)言為什么不需要包含stdio.h

學(xué)益得智能硬件 ? 來(lái)源:學(xué)益得智能硬件 ? 2024-10-29 15:48 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

我們?cè)趯?xiě)單片機(jī)程序的時(shí)候,第一行都會(huì)包含 reg51.h,于是就有同學(xué)提出了疑問(wèn),為什么不需要包含 stdio.h?

如果從C語(yǔ)言本身來(lái)講,一個(gè)完整的 C 代碼并不需要包含頭文件。

標(biāo)準(zhǔn)中也提到,程序的入口是 main 函數(shù),它應(yīng)該有個(gè)整型返回值,參數(shù)可有可無(wú)。

所以一個(gè)最簡(jiǎn)單的 C 代碼應(yīng)該是這樣。

int main(void)
{
    return 0;
}

至于它的返回值,即使寫(xiě)成 void,很多編譯器也不會(huì)提示問(wèn)題。

那我們學(xué)習(xí)C語(yǔ)言的時(shí)候,為什么在第一行加上 stdio.h?

因?yàn)樵诖a中用到了 printf,使用函數(shù),就得提前聲明,告訴編譯器它是個(gè)函數(shù),并且函數(shù)原型是什么樣。

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

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

再回到 51 單片機(jī)上。

作為一個(gè)裸機(jī)程序,很多時(shí)候,我們用不到 printf,所以也就很少包含 stdio.h。

包含 reg51.h,主要還是因?yàn)檫@里面定義了很多寄存器,比如點(diǎn)燈需要用到的 P1 等等,打開(kāi) reg51.h,你會(huì)發(fā)現(xiàn),它其實(shí)就是個(gè)地址。

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

    關(guān)注

    6076

    文章

    45501

    瀏覽量

    670737
  • C語(yǔ)言
    +關(guān)注

    關(guān)注

    183

    文章

    7644

    瀏覽量

    145659
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4417

    瀏覽量

    67560
  • 編譯器
    +關(guān)注

    關(guān)注

    1

    文章

    1672

    瀏覽量

    51676

原文標(biāo)題:C語(yǔ)言并不是非要包含stdio.h

文章出處:【微信號(hào):學(xué)益得智能硬件,微信公眾號(hào):學(xué)益得智能硬件】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    請(qǐng)問(wèn)為什么加了stdio.h,sprintf還是用不了?

    請(qǐng)問(wèn)為什么自己加了stdio.h,sprintf還是用不了?
    發(fā)表于 03-13 07:23

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

    ; gt;但是函數(shù)只是把錯(cuò)誤拋在上面。但并非總是如此。我想我需要知道STDLIB。hSTDIO。h實(shí)際上是如何加載到項(xiàng)目中的,以及從何處來(lái)的。什么是對(duì)標(biāo)準(zhǔn)的內(nèi)置庫(kù)文件進(jìn)行更改,這些文
    發(fā)表于 01-11 11:21

    ucos在PC機(jī)上的應(yīng)用提示無(wú)法打開(kāi)stdio.h文件

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

    為什么燒寫(xiě)stdio.h屏幕會(huì)發(fā)黑?

    燒寫(xiě)stdio.h屏幕發(fā)黑 什么原因?
    發(fā)表于 08-23 05:45

    在嵌入式處理器環(huán)境中為什么匯編語(yǔ)言不需要堆棧?

    在嵌入式處理器環(huán)境中,為何C語(yǔ)言(函數(shù)調(diào)用)需要堆棧,而匯編語(yǔ)言不需要堆棧?據(jù)我所知,c
    發(fā)表于 03-20 04:35

    嵌入式開(kāi)發(fā)中C語(yǔ)言編程的相關(guān)資料分享

    ,使用庫(kù)函數(shù)是不可避免的。關(guān)于使用庫(kù)函數(shù)的最簡(jiǎn)單的例子就是printf()。在Linux環(huán)境下的C語(yǔ)言編程中,庫(kù)函數(shù)包括兩個(gè)部分:一種是C語(yǔ)言的標(biāo)準(zhǔn)庫(kù)函數(shù),例如
    發(fā)表于 12-15 06:13

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

    在編譯通過(guò)命令arm-poky-linux-gnueabi-gcc test.c,編譯程序時(shí),顯示fatal error: stdio.h: No such file or directory,用gcc編譯不會(huì)報(bào)錯(cuò)!
    發(fā)表于 01-10 06:35

    基于單片機(jī)設(shè)計(jì)的軟件時(shí)鐘C語(yǔ)言程序

    本內(nèi)容提供了基于單片機(jī)設(shè)計(jì)的軟件時(shí)鐘C語(yǔ)言程序 程序如下: #pragma db oe #include reg52.h #include absacc.h #include stri
    發(fā)表于 11-21 15:59 ?199次下載

    一些常見(jiàn)的C語(yǔ)言字符串操作

    ? #字符串倒序輸出 實(shí)現(xiàn)邏輯,通過(guò)strlen獲取字符串長(zhǎng)度,然后通過(guò) len/2 進(jìn)行交叉賦值,這里需要注意,不需要考慮len是奇數(shù)還是偶數(shù)的問(wèn)題。 如果len是奇數(shù),最后一個(gè)字符就不需要倒序
    的頭像 發(fā)表于 12-24 16:31 ?2662次閱讀

    不需要電感器

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

    C語(yǔ)言如何實(shí)現(xiàn)Hello xiaolin

    在上述程序里編譯預(yù)處理命令稱為文件包含命令,作用是在編譯之前把程序需要使用的關(guān)于系統(tǒng)定義的函數(shù)printf()的一些信息文件stdio.h包含進(jìn)來(lái)。
    的頭像 發(fā)表于 03-08 16:06 ?671次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言</b>如何實(shí)現(xiàn)Hello xiaolin

    不需要點(diǎn)表的工業(yè)網(wǎng)關(guān)”如何實(shí)現(xiàn)松下FPG-C32T2H數(shù)據(jù)采集和遠(yuǎn)程維護(hù)的物聯(lián)網(wǎng)解決方案

    深控技術(shù)的 “不需要點(diǎn)表的工業(yè)網(wǎng)關(guān)” 實(shí)現(xiàn)松下 FPG-C32T2H 數(shù)據(jù)采集和遠(yuǎn)程維護(hù)的物聯(lián)網(wǎng)解決方案
    的頭像 發(fā)表于 10-12 11:30 ?1340次閱讀
    “<b class='flag-5'>不需要</b>點(diǎn)表的工業(yè)網(wǎng)關(guān)”如何實(shí)現(xiàn)松下FPG-<b class='flag-5'>C32T2H</b>數(shù)據(jù)采集和遠(yuǎn)程維護(hù)的物聯(lián)網(wǎng)解決方案

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

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

    stdio.h實(shí)現(xiàn)了printf函數(shù)?

    我們平時(shí)包含stdio.h 頭文件,里面是不是實(shí)現(xiàn)了 printf 函數(shù)? 為什么會(huì)有這個(gè)疑問(wèn)?因?yàn)槊看问褂?printf,就得包含 stdio.h ,這就導(dǎo)致很多同學(xué)誤以為,
    的頭像 發(fā)表于 12-18 10:28 ?1086次閱讀

    系統(tǒng)c盤(pán)滿了怎么清理不需要文件

    統(tǒng)c盤(pán)滿了怎么清理不需要文件 ? 你的 c: 驅(qū)動(dòng)已經(jīng)滿了, 電腦變慢或者無(wú)法安裝更新, 這是 windows 機(jī)器常見(jiàn)的問(wèn)題, 不用當(dāng)技術(shù)專家也能騰出空間, 這篇指南用簡(jiǎn)單安全的步驟幫你找到并刪除
    的頭像 發(fā)表于 11-22 09:30 ?1031次閱讀