chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀(guān)看技術(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)有聲明返回類(lè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)載。文章觀(guā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)注

    5188

    文章

    20187

    瀏覽量

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

    關(guān)注

    183

    文章

    7642

    瀏覽量

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

    關(guān)注

    30

    文章

    4947

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

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

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

    CW32嵌入式軟件開(kāi)發(fā)的必備知識(shí)

    嵌入式軟件開(kāi)發(fā)作為計(jì)算機(jī)科學(xué)和電子工程的交叉領(lǐng)域,要求開(kāi)發(fā)人員具備一系列的專(zhuān)業(yè)知識(shí)和技能。 而基于CW32的嵌入式軟件開(kāi)發(fā)必備知識(shí)包括以下部分: 1 、編程語(yǔ)言 熟練掌握C
    發(fā)表于 11-28 07:48

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

    C 語(yǔ)言在汽車(chē)電子控制系統(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)代科技不可或缺的一部分。它們存在于家用電器、汽車(chē)、住宅、醫(yī)院、商店等各個(gè)領(lǐng)域。它們與我們的社會(huì)緊密相連。選擇合適的語(yǔ)言來(lái)構(gòu)建嵌入式系統(tǒng)對(duì)于成功至關(guān)重要。那么,2025年最佳的嵌入
    的頭像 發(fā)表于 11-14 10:27 ?954次閱讀
    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ù)以?xún)|計(jì),甚至以萬(wàn)億計(jì)的設(shè)備。但它的統(tǒng)治地
    的頭像 發(fā)表于 11-14 10:27 ?178次閱讀
    <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 ?6614次閱讀
    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

    盤(pán)點(diǎn)嵌入式就業(yè)所需要的技能有哪些?

    ,把握未來(lái)的職業(yè)機(jī)遇。 1.智能汽車(chē)行業(yè): - 熟悉嵌入式編程語(yǔ)言,如C/C++、Python等。 - 掌握嵌入式系統(tǒng)設(shè)計(jì)與開(kāi)發(fā)流程,了解
    發(fā)表于 08-11 15:43

    入行嵌入式應(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è)備、車(chē)載系統(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

    嵌入式編程設(shè)計(jì)模式

    嵌入式編程設(shè)計(jì)模式,介紹如何使用設(shè)計(jì)模式為嵌入式系統(tǒng)創(chuàng)建高效且優(yōu)化的C語(yǔ)言設(shè)計(jì)。 純分享貼,有需要可以直接下載附件獲取完整資料! (如果內(nèi)容有幫助可以關(guān)注、點(diǎn)贊、評(píng)論支持一下哦~
    發(fā)表于 04-15 14:47

    嵌入式開(kāi)發(fā):高門(mén)檻的系統(tǒng)性工程與 996 的行業(yè)困局

    嵌入式開(kāi)發(fā)的門(mén)檻,往往被培訓(xùn)機(jī)構(gòu)和表象所掩蓋。許多人誤以為 “用 C 語(yǔ)言寫(xiě)個(gè)跑在 ARM 上的程序” 就是嵌入式,實(shí)則連皮毛都未觸及。真正的嵌入式
    的頭像 發(fā)表于 04-09 11:06 ?714次閱讀
    <b class='flag-5'>嵌入式</b>開(kāi)發(fā):高門(mén)檻的系統(tǒng)性工程與 996 的行業(yè)困局

    Python在嵌入式系統(tǒng)中的應(yīng)用場(chǎng)景

    你想把你的職業(yè)生涯提升到一個(gè)新的水平?Python在嵌入式系統(tǒng)中正在成為一股不可缺少的新力量。盡管傳統(tǒng)上嵌入式開(kāi)發(fā)更多地依賴(lài)于CC++語(yǔ)言
    的頭像 發(fā)表于 03-19 14:10 ?1234次閱讀