18video性欧美19sex,欧美高清videosddfsexhd,性少妇videosexfreexxx片中国,激情五月激情综合五月看花,亚洲人成网77777色在线播放

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

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

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

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

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

掃碼添加小助手

加入工程師交流群

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

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

1、main()

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

2、void main()

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

3、int main(void)

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

4、int main ()

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

#include

void test();

int main()

{

test(4);

return 0;

}

void test(int a)

{

printf("%d",a);

}

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

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

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

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

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

上面寫了這么多種寫法,那么到底寫哪種才算是對的?

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

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

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

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

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

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

    關(guān)注

    5177

    文章

    20006

    瀏覽量

    325614
  • C語言
    +關(guān)注

    關(guān)注

    183

    文章

    7634

    瀏覽量

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

    關(guān)注

    30

    文章

    4927

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

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

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

    C語言入門(硬件嵌入式那種不是APP開發(fā)的)

    C語言入門(硬件嵌入式那種不是APP開發(fā)的),有沒有對初學(xué)者很友好的書籍、視頻等資料推薦一下,一直以來看了正dian原子、野火等的視頻、文檔結(jié)果從快要入門到放氣,然后再從放氣到快要入門,一直沒有進(jìn)展,還望指點迷津,感謝
    發(fā)表于 09-27 12:03

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

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

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

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

    詳解hal_entry入口函數(shù)

    當(dāng)使用RTOS時,程序從main函數(shù)開始進(jìn)行線程調(diào)度;當(dāng)沒有使用RTOS時,C語言程序的入口函數(shù)main
    的頭像 發(fā)表于 07-25 15:34 ?1483次閱讀

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

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

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

    特定功能的計算機系統(tǒng),廣泛應(yīng)用于智能家居、工業(yè)控制、醫(yī)療設(shè)備、車載系統(tǒng)等領(lǐng)域。 2. 學(xué)習(xí)嵌入式開發(fā)的前置知識熟悉C語言編程掌握基本的數(shù)據(jù)結(jié)構(gòu)與算法了解數(shù)字電路與微控制器原理熟悉Linux操作系統(tǒng)
    發(fā)表于 05-15 09:29

    嵌入式適合自學(xué)嗎?

    嵌入式適合自學(xué)嗎?其實并不建議大家自學(xué)嵌入式,主要有以下原因。 一)學(xué)習(xí)難度大 1)知識體系復(fù)雜:嵌入式系統(tǒng)是一個復(fù)雜的領(lǐng)域,涉及到計算機、電子、通信等多學(xué)科知識,需要學(xué)習(xí)者具備扎實的
    發(fā)表于 04-27 09:54

    入行嵌入式難度大不大?

    入行嵌入式難度大不大?根據(jù)不同的情況來分析下。 (一)零基礎(chǔ)入行 對于零基礎(chǔ)的初學(xué)者來說,嵌入式領(lǐng)域可能會有一定的門檻。需要從基礎(chǔ)的電子電路知識、編程語言(如C
    發(fā)表于 04-17 10:14

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

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

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

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

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

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

    嵌入式主板選型與應(yīng)用指南

    嵌入式主板是專為嵌入式系統(tǒng)設(shè)計的核心硬件平臺,廣泛應(yīng)用于工業(yè)控制、物聯(lián)網(wǎng)、醫(yī)療設(shè)備等領(lǐng)域。以下是關(guān)于嵌入式主板的詳細(xì)介紹:1.嵌入式主板的核心特點緊湊尺寸:通常采用小型化設(shè)計(如Min
    的頭像 發(fā)表于 02-27 14:53 ?825次閱讀
    <b class='flag-5'>嵌入式</b>主板選型與應(yīng)用指南

    為什么嵌入式驅(qū)動開發(fā)工程師可以拿高薪?

    。 這些基礎(chǔ)知識有助于更好地理解嵌入式系統(tǒng)的工作原理。 2)精通編程語言: 在嵌入式開發(fā)中,C語言是最重要的編程
    發(fā)表于 01-07 16:56

    新手怎么學(xué)嵌入式?

    的運行機制。例如,了解數(shù)據(jù)結(jié)構(gòu)中的鏈表、棧和隊列,對于在嵌入式編程中管理數(shù)據(jù)非常有幫助。 2. 選擇合適的編程語言 嵌入式開發(fā)中常用的編程語言
    發(fā)表于 12-12 10:51