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

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

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

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

QQ3208919269 揭秘嵌入式C語(yǔ)言main函數(shù)的寫(xiě)法原因

如何學(xué)習(xí)嵌入式 ? 來(lái)源:QQ3208919269 ? 2020-03-08 14:11 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

但凡是學(xué)過(guò)C語(yǔ)言的人,都知道要先寫(xiě)main函數(shù),然而很多時(shí)候我們看到的main函數(shù)卻各有差異,這究竟是為啥?哪種是對(duì)的呢?今天我們就來(lái)揭秘嵌入式C語(yǔ)言main函數(shù)的寫(xiě)法原因。

那么main函數(shù)一共有多少個(gè)版本呢?

1、main()

直接的mian()并沒(méi)有返回值,沒(méi)有入?yún)ⅰ_@種寫(xiě)法實(shí)際來(lái)說(shuō),部分編譯器會(huì)顯示警告,并且會(huì)返回默認(rèn)值為int。不過(guò)在C89標(biāo)準(zhǔn)中其實(shí)是可以的,由于沒(méi)有聲明返回類型,所以才會(huì)返回默認(rèn)值int。

2、void main()

初學(xué)者經(jīng)常會(huì)使用的形式,但是并不知道來(lái)源在哪,在C89/C99/C11等文檔中都沒(méi)有提到這種形式的痕跡。這種寫(xiě)法的返回值是void,沒(méi)有參數(shù)。值得注意的是,一旦聲明是void,在程序退出后,想要獲取其退出狀態(tài)也就不可以了。所以還是不建議返回值為void的。

3、int main(void)

比較常見(jiàn)的寫(xiě)法,這種寫(xiě)法的形參為void,表明它在調(diào)用的時(shí)候不能傳入任何參數(shù),那么它也就不能獲取命令行參數(shù)了。

4、int main ()

和上面第3種看起來(lái)好像沒(méi)啥區(qū)別,但是還是有些許不同。就下面例子來(lái)說(shuō):

#include

void test();

int main()

{

test(4);

return 0;

}

void test(int a)

{

printf("%d",a);

}

程序仍然可以正常運(yùn)行,test函數(shù)雖然聲明為無(wú)入?yún)?,但調(diào)用時(shí)卻是可以傳入任何參數(shù)或不傳參數(shù)的。

5、int main(int argc,char *argv[])

int argc入?yún)槊钚袇?shù)個(gè)數(shù),char *argv[]入?yún)槊钚袇?shù)數(shù)組。這種寫(xiě)法也比較常見(jiàn)的,主要用在需要從命令行獲取參數(shù)的功能。

6、int main(int argc,char *argv[],char *envp[])

包含三個(gè)參數(shù)的一種寫(xiě)法,上面第5種的升級(jí)版,int argc是命令行參數(shù)個(gè)數(shù),char *argv[]是命令參數(shù)數(shù)組,char *envp[]是環(huán)境變量數(shù)組。雖然只比第六種多了一個(gè)參數(shù),但全局變量environ可以代替envp的作用,獲取或者設(shè)置環(huán)境變量可以使用getenv或putenv,因此也沒(méi)有必要使用該形式。這種寫(xiě)法多源于編譯器的擴(kuò)展。

上面寫(xiě)了這么多種寫(xiě)法,那么到底寫(xiě)哪種才算是對(duì)的?

查閱標(biāo)準(zhǔn)文檔,里面明確固定了兩種寫(xiě)法:

int main(void) { /* ... */ }

int main(int argc, char *argv[]) { /* ... */ }

所以說(shuō),其他的寫(xiě)法并不符合標(biāo)準(zhǔn),有些算是歷史遺留有些算是編譯器的擴(kuò)展,還有些不知道從哪里生出來(lái)的。

所以說(shuō)了這么多,為了代碼的通用可移植性,建議采用標(biāo)準(zhǔn)提供的形式,還是推薦使用標(biāo)準(zhǔn)文檔中規(guī)定的這兩種寫(xiě)法。如果一個(gè)函數(shù)確定無(wú)需傳入任何參數(shù),那么用void限定是一個(gè)不錯(cuò)的選擇。

聲明:本文內(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)投訴
  • 嵌入式
    +關(guān)注

    關(guān)注

    5208

    文章

    20620

    瀏覽量

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

    關(guān)注

    183

    文章

    7645

    瀏覽量

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

    關(guān)注

    30

    文章

    4975

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    嵌入式C語(yǔ)言高質(zhì)量編程:從“能用”到“卓越”的跨越

    只有掌握了嵌入式C硬核的技術(shù),才能夠鑄就工業(yè)級(jí)高質(zhì)量的代碼。
    的頭像 發(fā)表于 03-13 10:18 ?205次閱讀
    <b class='flag-5'>嵌入式</b><b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言</b>高質(zhì)量編程:從“能用”到“卓越”的跨越

    嵌入式開(kāi)發(fā)常用函數(shù)速查表

    嵌入式開(kāi)發(fā)中,掌握常用函數(shù)的用法可以大大提高開(kāi)發(fā)效率。無(wú)論是單片機(jī)初學(xué)者還是有一定經(jīng)驗(yàn)的工程師,熟悉函數(shù)庫(kù)和調(diào)用方式都是必備技能。今天,我們?yōu)榇蠹艺硪环?b class='flag-5'>嵌入式開(kāi)發(fā)常用
    的頭像 發(fā)表于 01-19 09:06 ?430次閱讀
    <b class='flag-5'>嵌入式</b>開(kāi)發(fā)常用<b class='flag-5'>函數(shù)</b>速查表

    什么是嵌入式應(yīng)用開(kāi)發(fā)?

    。 · ?醫(yī)療設(shè)備?:如心電圖儀、血壓計(jì)等。 開(kāi)發(fā)工具和技術(shù) 嵌入式開(kāi)發(fā)過(guò)程中常用的工具包括: · ?集成開(kāi)發(fā)環(huán)境(IDE)?:用于編寫(xiě)、編譯和調(diào)試代碼。 · ?編譯器?:將高級(jí)語(yǔ)言代碼轉(zhuǎn)換為機(jī)器語(yǔ)言
    發(fā)表于 01-12 16:13

    C語(yǔ)言嵌入式系統(tǒng)編程注意事項(xiàng)-內(nèi)存操作

    C語(yǔ)言嵌入式系統(tǒng)編程注意事項(xiàng)之內(nèi)存操作 在嵌入式系統(tǒng)的編程中,常常要求在特定的內(nèi)存單元讀寫(xiě)內(nèi)容,匯編有對(duì)應(yīng)的MOV指令,而除C/
    發(fā)表于 01-04 07:31

    C語(yǔ)言單元測(cè)試在嵌入式軟件開(kāi)發(fā)中的作用及專業(yè)工具的應(yīng)用

    一、C語(yǔ)言嵌入式開(kāi)發(fā)中的現(xiàn)狀與重要性 C語(yǔ)言嵌入式開(kāi)發(fā)領(lǐng)域仍然占據(jù)主導(dǎo)地位,根據(jù)Barr集團(tuán)
    發(fā)表于 12-18 11:46

    嵌入式應(yīng)掌握的幾種能力

    1. 編程語(yǔ)言 基本掌握嵌入式必備的編程語(yǔ)言C語(yǔ)言為主,C++為輔。在資源有限的情況下,大多
    發(fā)表于 12-08 06:05

    C語(yǔ)言嵌入式開(kāi)發(fā)中的應(yīng)用

    C 語(yǔ)言在汽車電子控制系統(tǒng)開(kāi)發(fā)中的主導(dǎo)地位。 2、設(shè)備驅(qū)動(dòng)程序 設(shè)備驅(qū)動(dòng)程序是嵌入式系統(tǒng)中連接硬件和軟件的橋梁,它負(fù)責(zé)實(shí)現(xiàn)嵌入式系統(tǒng)與外部設(shè)備之間的通信和控制。
    發(fā)表于 11-21 08:09

    2025年最佳的嵌入式編程語(yǔ)言有哪些呢?

    嵌入式系統(tǒng)是現(xiàn)代科技不可或缺的一部分。它們存在于家用電器、汽車、住宅、醫(yī)院、商店等各個(gè)領(lǐng)域。它們與我們的社會(huì)緊密相連。選擇合適的語(yǔ)言來(lái)構(gòu)建嵌入式系統(tǒng)對(duì)于成功至關(guān)重要。那么,2025年最佳的嵌入
    的頭像 發(fā)表于 11-14 10:27 ?1727次閱讀
    2025年最佳的<b class='flag-5'>嵌入式</b>編程<b class='flag-5'>語(yǔ)言</b>有哪些呢?

    C語(yǔ)言是否會(huì)阻礙嵌入式的發(fā)展?

    門(mén)老朋友:C語(yǔ)言。電子工業(yè)已經(jīng)走過(guò)了50多年,而C語(yǔ)言仍然是超過(guò)六成嵌入式項(xiàng)目的首選。它驅(qū)動(dòng)著全球數(shù)以億計(jì),甚至以萬(wàn)億計(jì)的設(shè)備。但它的統(tǒng)治地
    的頭像 發(fā)表于 11-14 10:27 ?511次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言</b>是否會(huì)阻礙<b class='flag-5'>嵌入式</b>的發(fā)展?

    ElfBoard科普課堂|為什么C語(yǔ)言嵌入式技術(shù)領(lǐng)域中的地位難以撼動(dòng)?

    嵌入式技術(shù)領(lǐng)域,“C語(yǔ)言與硬件”的組合,常被比作計(jì)算機(jī)體系中的“二進(jìn)制與晶體管”——它們是無(wú)數(shù)智能設(shè)備穩(wěn)定運(yùn)行的底層支柱,貫穿了嵌入式應(yīng)用的核心環(huán)節(jié)。
    的頭像 發(fā)表于 11-06 10:00 ?7097次閱讀
    ElfBoard科普課堂|為什么<b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言</b>在<b class='flag-5'>嵌入式</b>技術(shù)領(lǐng)域中的地位難以撼動(dòng)?

    嵌入式需要掌握哪些核心技能?

    嵌入式需要掌握哪些核心技能? 若想通過(guò)學(xué)習(xí)嵌入式技術(shù)提升就業(yè)競(jìng)爭(zhēng)力,需重點(diǎn)掌握C語(yǔ)言、嵌入式硬件架構(gòu)、RTOS/Linux開(kāi)發(fā)、通信協(xié)議四
    發(fā)表于 10-21 16:25

    C語(yǔ)言入門(mén)(硬件嵌入式那種不是APP開(kāi)發(fā)的)

    C語(yǔ)言入門(mén)(硬件嵌入式那種不是APP開(kāi)發(fā)的),有沒(méi)有對(duì)初學(xué)者很友好的書(shū)籍、視頻等資料推薦一下,一直以來(lái)看了正dian原子、野火等的視頻、文檔結(jié)果從快要入門(mén)到放氣,然后再?gòu)姆艢獾娇煲腴T(mén),一直沒(méi)有進(jìn)展,還望指點(diǎn)迷津,感謝
    發(fā)表于 09-27 12:03

    入行嵌入式應(yīng)該怎么準(zhǔn)備?

    知識(shí): 一、C/C++編程C/C++是嵌入式系統(tǒng)開(kāi)發(fā)中最常用的編程語(yǔ)言。熟練掌握
    發(fā)表于 08-06 10:34

    Linux嵌入式和單片機(jī)嵌入式的區(qū)別?

    : 單片機(jī)嵌入式 :開(kāi)發(fā)環(huán)境相對(duì)簡(jiǎn)單,通常使用C語(yǔ)言或匯編語(yǔ)言進(jìn)行編程,開(kāi)發(fā)工具包括Keil、IAR等。 Linux嵌入式 :開(kāi)發(fā)環(huán)境較
    發(fā)表于 06-20 09:46

    嵌入式開(kāi)發(fā)入門(mén)指南:從零開(kāi)始學(xué)習(xí)嵌入式

    特定功能的計(jì)算機(jī)系統(tǒng),廣泛應(yīng)用于智能家居、工業(yè)控制、醫(yī)療設(shè)備、車載系統(tǒng)等領(lǐng)域。 2. 學(xué)習(xí)嵌入式開(kāi)發(fā)的前置知識(shí)熟悉C語(yǔ)言編程掌握基本的數(shù)據(jù)結(jié)構(gòu)與算法了解數(shù)字電路與微控制器原理熟悉Linux操作系統(tǒng)
    發(fā)表于 05-15 09:29
    招远市| 饶阳县| 射阳县| 大丰市| 左权县| 马龙县| 溆浦县| 彰武县| 潼关县| 竹山县| 涿鹿县| 得荣县| 太仓市| 西乡县| 海门市| 平武县| 安徽省| 延川县| 安丘市| 潼关县| 高青县| 托克逊县| 叙永县| 徐水县| 平原县| 台东市| 吉水县| 水城县| 积石山| 启东市| 深圳市| 姚安县| 遵化市| 富锦市| 武陟县| 南充市| 东乡族自治县| 禄丰县| 肃南| 敦化市| 淮阳县|