第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

請問在一個C語言程序中,為什么main函數(shù)可以出現(xiàn)在任何地方,不是開頭就要申明么?

請問在一個C語言程序中,為什么main函數(shù)可以出現(xiàn)在任何地方,不是開頭就要申明么?

C
忽然笑 2019-08-20 17:12:55
在一個C語言程序中,為什么main函數(shù)可以出現(xiàn)在任何地方,不是開頭就要申明么
查看完整描述

4 回答

?
斯蒂芬大帝

TA貢獻(xiàn)1827條經(jīng)驗 獲得超8個贊

C語言不限定函數(shù)源代碼在源文件中的位置,但是函數(shù)內(nèi)的標(biāo)識符同函數(shù)外的標(biāo)識符一樣也必須滿足使用的標(biāo)識符先聲明后引用的原則。編譯器對于每個編譯單元(源文件)順序掃描源代碼,如果之前遇到過聲明,那么會根據(jù)聲明的內(nèi)容假定它的定義在當(dāng)前源文件中或者在另外的源文件或庫文件中,這樣不會出現(xiàn)錯誤。否則就會當(dāng)作未定義的標(biāo)識符而產(chǎn)生編譯錯誤。所以main函數(shù)用到的標(biāo)識符,無論是函數(shù)還是變量還是const限定的常量,都要在用到的地方之前聲明(main本身不用聲明),包括庫函數(shù)。標(biāo)準(zhǔn)庫頭文件通常內(nèi)容是一堆extern庫函數(shù)聲明(函數(shù)定義在另外的庫文件中)和預(yù)處理命令,為了能夠使函數(shù)的聲明起到作用,必須#include在main函數(shù)之前,否則這些聲明無效,等于沒#include。(#include僅僅是文本包含指令,本身沒有這個限制。)

查看完整回答
反對 回復(fù) 2019-08-21
?
智慧大石

TA貢獻(xiàn)1946條經(jīng)驗 獲得超3個贊

因為main作為程序執(zhí)行的入口只可能有一個,所以無論寫在程序的什么位置上,在編譯程序的過程中被識別出來即可,執(zhí)行的時候就從main開始執(zhí)行。
打個比方說,房子蓋好之后,大門無論開在東面還是南面都可以,但只能有一個門,我們進(jìn)入房間就從這個門進(jìn)入即可。

查看完整回答
反對 回復(fù) 2019-08-21
?
婷婷同學(xué)_

TA貢獻(xiàn)1844條經(jīng)驗 獲得超8個贊

可以隨意安排位置,不過需要遵循一條規(guī)則,在main()中調(diào)用的任何函數(shù),其聲明一定要出現(xiàn)在main()函數(shù)之前(特別注意,文件包含指令#include需要出現(xiàn)在main()之前)

查看完整回答
反對 回復(fù) 2019-08-21
?
湖上湖

TA貢獻(xiàn)2003條經(jīng)驗 獲得超2個贊

如果main中調(diào)用函數(shù),那么這個函數(shù)必須在mani函數(shù)的前面。但是也可以在main函數(shù)的前面聲明。因為代碼是從main 函數(shù)開始,一條一條的順序執(zhí)行的。
例:
abc();
main()
{
abc();
}
abc()
{
//內(nèi)部實現(xiàn)
}
這樣就是在前面聲明。
例2;
abc()
{
//內(nèi)部實現(xiàn)
}
main()
{
abc();//直接調(diào)用,因為abc已經(jīng)在前面定義并且了。
}



查看完整回答
反對 回復(fù) 2019-08-21
  • 4 回答
  • 0 關(guān)注
  • 930 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號