void表示參數(shù)為空,即這個(gè)函數(shù)不含參數(shù),比如定義一個(gè)print函數(shù)。
我們提供的服務(wù)有:成都做網(wǎng)站、成都網(wǎng)站建設(shè)、微信公眾號(hào)開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、沭陽ssl等。為1000+企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的沭陽網(wǎng)站制作公司
程序執(zhí)行總是從main函數(shù)開始,如果有有其他函數(shù),則完成對其他函數(shù)的調(diào)用后再返回到主函數(shù),最后由main函數(shù)結(jié)束整個(gè)程序。在執(zhí)行程序時(shí),由系統(tǒng)調(diào)用main函數(shù)。main 函數(shù)是在程序啟動(dòng)中完成對具有靜態(tài)存儲(chǔ)期的非局部對象的初始化之后被調(diào)用的。它是程序在有宿主 (hosted)環(huán)境(亦即有操作系統(tǒng))中所指定的入口點(diǎn)。自立程序(啟動(dòng)加載器,操作系統(tǒng)內(nèi)核,等等)的入口點(diǎn)則是由實(shí)現(xiàn)定義的。
擴(kuò)展資料:
主函數(shù)的兩個(gè)形參形式中的形參,允許從執(zhí)行環(huán)境中傳遞任意的多字節(jié)字符串(它們通常被稱為命令行參數(shù)),各個(gè)指針 argv.. argv[argc-1] 指向每個(gè)這些字符串的第一個(gè)字符。argv[0] 是指向一個(gè)表示用于執(zhí)行該程序自身的名字的空結(jié)尾多字節(jié)字符串(或者當(dāng)執(zhí)行環(huán)境不支持時(shí),為空字符串 "")的開頭字符的指針。
這些字符串是可以改動(dòng)的,雖然對它們的改動(dòng)并不會(huì)被傳回給執(zhí)行環(huán)境:比如可以用 std::strtok 來使用它們。由 argv 所指向的數(shù)組的大小至少為 argc+1,其最后一個(gè)元素 argv[argc] 保證為一個(gè)空指針。
在調(diào)用可執(zhí)行程序時(shí),可以通過main函數(shù)的參數(shù)將命令行的調(diào)用參數(shù)傳遞給main函數(shù)。
一個(gè)c程序有且僅有一個(gè)main函數(shù),任何一個(gè)c程序總是從main函數(shù)開始執(zhí)行,main函數(shù)后面的一對圓括號(hào)不能省略。
具體形式如下:
main(){ ? }
被大括號(hào){ }括起來的內(nèi)容稱為main函數(shù)的函數(shù)體,這部分內(nèi)容就是計(jì)算機(jī)要執(zhí)行的內(nèi)容。
在{ ?}里面每一句話后面都有一個(gè)分號(hào)(;),在c語言中,我們把以一個(gè)分號(hào)結(jié)尾的一句話叫做一個(gè)c語言的語句,分號(hào)是語句結(jié)束的標(biāo)志。
擴(kuò)展資料:
程序執(zhí)行總是從main函數(shù)開始,如果有有其他函數(shù),則完成對其他函數(shù)的調(diào)用后再返回到主函數(shù),最后由main函數(shù)結(jié)束整個(gè)程序。在執(zhí)行程序時(shí),由系統(tǒng)調(diào)用main函數(shù)。
main 函數(shù)是在程序啟動(dòng)中完成對具有靜態(tài)存儲(chǔ)期的非局部對象的初始化之后被調(diào)用的。它是程序在有宿主 (hosted)環(huán)境(亦即有操作系統(tǒng))中所指定的入口點(diǎn)。自立程序(啟動(dòng)加載器,操作系統(tǒng)內(nèi)核,等等)的入口點(diǎn)則是由實(shí)現(xiàn)定義的。
參考資料來源:百度百科-C語言函數(shù)
1.main函數(shù)是程序的入口函數(shù),每次程序執(zhí)行都是從main,很多地方main函數(shù)都會(huì)帶有參數(shù):main (int argc,char *argv[])
2.簡單的來說mian函數(shù)就是帶有兩個(gè)參數(shù),第一個(gè)參數(shù)是一個(gè)整型變量,第二個(gè)參數(shù)是一個(gè)指向字符串的指針數(shù)組。
3.這里的參數(shù)由操作系統(tǒng)來調(diào)用,并給它們賦值。
4.現(xiàn)在的操作系統(tǒng)都是圖形化的,參數(shù)的調(diào)用基本都隱藏起來,不過可以借助DOS來理解:
在DOS操作系統(tǒng)中輸入這樣的命令:C:可執(zhí)行文件名 參數(shù)參數(shù)……;
5.操作系統(tǒng)調(diào)用C語言的程序也是這樣調(diào)用的。第一個(gè)參數(shù)argc代表命令中參數(shù)的個(gè)數(shù),文件名也算上。argv就是存儲(chǔ)這些參數(shù)的。
在調(diào)用可執(zhí)行程序時(shí),可以通過main函數(shù)的參數(shù)將命令行的調(diào)用參數(shù)傳遞給main函數(shù)。
事實(shí)上,main()函數(shù)既可以是無參函數(shù),也可以是有參的函數(shù)。對于有參的形式來說,就需要向其傳遞參數(shù)。
從函數(shù)參數(shù)的形式上看,包含一個(gè)整型和一個(gè)指向字符指針的指針。當(dāng)一個(gè)C的源程序經(jīng)過編譯、鏈接后,會(huì)生成擴(kuò)展名為.EXE的可執(zhí)行文件(對windows操作系統(tǒng)而言),這是可以在操作系統(tǒng)下直接運(yùn)行的文件,換句話說,就是由系統(tǒng)來啟動(dòng)運(yùn)行的。由系統(tǒng)在啟動(dòng)運(yùn)行時(shí)傳遞參數(shù)。
在操作系統(tǒng)環(huán)境下,一條完整的運(yùn)行命令應(yīng)包括兩部分:命令與相應(yīng)的參數(shù)。其格式為:
命令參數(shù)1參數(shù)2....參數(shù)nt;
此格式也稱為命令行。命令行中的命令就是可執(zhí)行文件的文件名,其后所跟參數(shù)需用空格分隔,并為對命令的進(jìn)一步補(bǔ)充,也即是傳遞給main()函數(shù)的參數(shù)。
命令行與main()函數(shù)的參數(shù)存在如下的關(guān)系:
設(shè)命令行為:program str1 str2 str3 str4 str5
擴(kuò)展資料:
main 函數(shù)的返回值類型必須是 int ,這樣返回值才能傳遞給程序的激活者(如操作系統(tǒng))。
如果 main 函數(shù)的最后沒有寫 return 語句的話,C99 規(guī)定編譯器要自動(dòng)在生成的目標(biāo)文件中(如 exe 文件)加入return 0; ,表示程序正常退出。不過,我還是建議你最好在main函數(shù)的最后加上return 語句,雖然沒有這個(gè)必要,但這是一個(gè)好的習(xí)慣。
也就是說在最新的C語言標(biāo)準(zhǔn)中強(qiáng)制要求main函數(shù)的返回值類型為int,main函數(shù)的返回值是傳遞給操作系統(tǒng),讓操作系統(tǒng)判斷程序的執(zhí)行情況(是正常結(jié)束還是出現(xiàn)異常)。
參考資料來源:百度百科-main函數(shù)
C語言的帶參數(shù)的a href=";tn=44039180_cprfenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1YduWDzmyw9rHfzPyP-mWmd0ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6KdThsqpZwYTjCEQLGCpyw9Uz4Bmy-bIi4WUvYETgN-TLwGUv3EPW6snH64n1m1n16zPjc1P1Tz"target="_blank" class="baidu-highlight"main函數(shù)/a格式為main(int argc,char* argv[]),其中argc為參數(shù)個(gè)數(shù)加1,argv為參數(shù)列表,從argv[1]開始。編譯后生成可執(zhí)行文件,可以在執(zhí)行的程序后加參數(shù),比如編譯一個(gè)程序?yàn)閠est.exe,則在執(zhí)行時(shí)可以輸入:
test.exe 1 firestone
在這里,argc等于3,argv[0]為"test.exe",argv[1]為"1",argv[2]為"firestone"。
如果有下面的程序:
#include a href=";tn=44039180_cprfenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1YduWDzmyw9rHfzPyP-mWmd0ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6KdThsqpZwYTjCEQLGCpyw9Uz4Bmy-bIi4WUvYETgN-TLwGUv3EPW6snH64n1m1n16zPjc1P1Tz" target="_blank" class="baidu-highlight"stdio.h/a
void main(int argc,char *argv[])
{
printf("You've input %d parameters.\n",argc-1);
for(int i=1;iargc;i++)printf("The No.%d is:%s\n",i,argv[i]);
}
則上面的輸入會(huì)產(chǎn)生如下運(yùn)行結(jié)果:
You've input 2 parameters.
The a href=";tn=44039180_cprfenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1YduWDzmyw9rHfzPyP-mWmd0ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6KdThsqpZwYTjCEQLGCpyw9Uz4Bmy-bIi4WUvYETgN-TLwGUv3EPW6snH64n1m1n16zPjc1P1Tz" target="_blank" class="baidu-highlight"No.1/a is 1
The No.2 is firestone
int main (int argc,char *argv[]) 或者 int main (int argc,char **argv)
其中第一個(gè)表示參數(shù)的個(gè)數(shù);第二個(gè)參數(shù)中argv[0]為自身運(yùn)行目錄路徑和程序名,argv[1]指向第一個(gè)參數(shù)、argv[2]指向第二個(gè)參數(shù)……
測試?yán)樱?/p>
#include stdio.h#include string.h
int main(int argc,char *argv[])
{
printf("argc= %d\n",argc);
while(argc--)
{
printf("%s \n",*argv++);
}
return 0;
}
網(wǎng)站名稱:c語言中主函數(shù)后面的參數(shù) c++主函數(shù)參數(shù)
當(dāng)前鏈接:http://jinyejixie.com/article32/dosdipc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導(dǎo)航、全網(wǎng)營銷推廣、網(wǎng)站排名、網(wǎng)站維護(hù)、微信小程序、動(dòng)態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)