日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

c语言 方程改main的值_c语言main函数里的参数argv和argc解析

發(fā)布時(shí)間:2025/3/15 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c语言 方程改main的值_c语言main函数里的参数argv和argc解析 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

前言

一般我們平時(shí)寫main函數(shù)的話,一般都是寫不帶參數(shù)的比較多,而且也習(xí)慣了這樣寫;其實(shí)標(biāo)準(zhǔn)的形式寫法,main函數(shù)是帶兩個(gè)參數(shù)的,這兩個(gè)參數(shù)分別是:argc和argv,那么這兩個(gè)參數(shù)是表示什么意思,怎么用呢?今天就給大家分享main函數(shù)里面這兩個(gè)參數(shù)的使用,下面看到這樣的寫法,要明白這樣寫的意思哦!

main函數(shù)返回給誰

01

函數(shù)為什么需要返回值

  • 函數(shù)在設(shè)計(jì)的時(shí)候設(shè)計(jì)了參數(shù)和返回值,參數(shù)是函數(shù)的輸入,返回值是函數(shù)的輸出。

  • 因?yàn)楹瘮?shù)需要對外輸出數(shù)據(jù)(實(shí)際上是函數(shù)運(yùn)行的一些結(jié)果值),因此需要返回值。

  • 形式上來說,函數(shù)被另外一個(gè)函數(shù)所調(diào)用,返回值作為函數(shù)式的值返回給調(diào)用這個(gè)函數(shù)的地方。

  • 總的來說,函數(shù)的返回值就是給調(diào)用的地方返回一個(gè)值。

02

main函數(shù)被誰調(diào)用

(1)main函數(shù)是特殊的,首先這個(gè)名字是特殊的;因?yàn)樵赾語言里面規(guī)定了main函數(shù)是整個(gè)程序的入口;其它函數(shù)只有直接或者間接被main函數(shù)所調(diào)用才能被執(zhí)行,如果沒用被main函數(shù)直接或者間接調(diào)用,則這個(gè)函數(shù)在整個(gè)程序中無用。(2)main函數(shù)從某種角度來講,它代表了當(dāng)前這個(gè)程序,或者說是整個(gè)程序;main函數(shù)的開始意味著整個(gè)程序開始執(zhí)行,main函數(shù)的結(jié)束返回意味著整個(gè)程序的結(jié)束。(3)誰執(zhí)行了這個(gè)程序,誰就調(diào)用了main函數(shù)。

03

Linux下一個(gè)程序執(zhí)行的本質(zhì)

(1)表面來看,Linux中在命令行中去./xx去執(zhí)行一個(gè)可執(zhí)行程序。(2)我們可以通過shell腳本來調(diào)用執(zhí)行一個(gè)程序(下面會寫一個(gè)shell腳本)。(3)我們還可以在程序總?cè)フ{(diào)用執(zhí)行一個(gè)程序(fork exec),這個(gè)在Linux應(yīng)用編程里面的文章里面有寫過這個(gè),可以參考這篇文章——Linux系統(tǒng)下進(jìn)程編程之exec族函數(shù)解析(四)(4)我們有多種方法來執(zhí)行一個(gè)程序,但是本質(zhì)上都是相同的。Linux中一個(gè)新程序的執(zhí)行本質(zhì)上是一個(gè)進(jìn)程的創(chuàng)建、加載、運(yùn)行、消亡。Linux中執(zhí)行一個(gè)程序其實(shí)就是創(chuàng)建一個(gè)新進(jìn)程,然后把這個(gè)程序丟進(jìn)這個(gè)進(jìn)程中去執(zhí)行,直到結(jié)束。新進(jìn)程是被誰開啟?在Linux中進(jìn)程都是被它的的父進(jìn)程fork出來的。(5)命令行本身就是一個(gè)進(jìn)程(就是我們平時(shí)在Linux下打開一個(gè)終端),在命令行下去./xx執(zhí)行一個(gè)程序,其實(shí)這個(gè)新程序是作為命令行進(jìn)程的一個(gè)子進(jìn)程去執(zhí)行的。總之一句來說,一個(gè)程序被它的父進(jìn)程所調(diào)用。(6)小結(jié):main 函數(shù)返回給調(diào)用這個(gè)函數(shù)的父進(jìn)程;父進(jìn)程要這個(gè)這個(gè)返回值干嘛?父進(jìn)程調(diào)用子進(jìn)程來執(zhí)行一個(gè)任務(wù),然后子進(jìn)程執(zhí)行完后,通過main函數(shù)的返回值返回給父進(jìn)程一個(gè)答復(fù),這個(gè)答復(fù)一般是表示子進(jìn)程的任務(wù)執(zhí)行結(jié)果完成了還是錯(cuò)誤的(0表示執(zhí)行成功,負(fù)數(shù)時(shí)表示執(zhí)行失敗)。

04

實(shí)踐驗(yàn)證獲取main的返回值

(1)用shell腳本執(zhí)行程序可以獲取程序的返回值并且打印出來:??#include?
??int?main(void){
???????????????????????return?0;
??}
然后我再創(chuàng)建一個(gè)shell腳本:

shell腳本里面的內(nèi)容為:??#!/bin/sh

?./a.out
?echo?$?
執(zhí)行結(jié)果為:

說明:Linux ?shell中用$?這個(gè)符號來存儲和表示上一個(gè)程序執(zhí)行結(jié)果(這里就是./a.out)。#!/bin/sh這個(gè)書寫shell腳本的格式。

argc、argv

01

main的書寫形式

一般正規(guī)main函數(shù)的書寫形式有三種:?int?main(void)int?main(int?argc,?char?**argv)int?main(int?argc,?char?*argv[])

02

誰給main函數(shù)傳參

(1)調(diào)用main函數(shù)所在的程序的它的父進(jìn)程給main函數(shù)傳參,并且接收main的返回值。

03

為什么要給main函數(shù)傳參

(1)首先,main函數(shù)不傳參是可以的,也就是說父進(jìn)程調(diào)用子進(jìn)程并且給子進(jìn)程傳參不是必須的;int main(void)這種形式就是不要傳參了。(2)有時(shí)候我們希望程序有一種靈活性,所以選擇在執(zhí)行程序時(shí)通過傳參來控制程序中的運(yùn)行,達(dá)到不需要重新編譯程序就可以改變程序運(yùn)行結(jié)果的效果。下面我先一個(gè)簡單的程序?yàn)槔齺硪鲞@個(gè)程序的靈活性:

我們可以看到如果要改程序里面的內(nèi)容的話,必須得修改源代碼才行,這樣靈活不是很好。下面就是我們要講的,給main函數(shù)傳參,來提高程序的靈活性。

04

給main怎樣來傳參

(1)給main傳參通過argc和argv這兩個(gè)c語言預(yù)訂的參數(shù)一起實(shí)現(xiàn)。(2)argc是int類型的,表示運(yùn)行程序的時(shí)候給main函數(shù)傳遞了幾個(gè)參數(shù);而argv是一個(gè)字符串?dāng)?shù)組,這個(gè)數(shù)組用來存儲多個(gè)字符串,每個(gè)字符串就是我們給main函數(shù)傳的一個(gè)參數(shù),argv[0]就是我們給main函數(shù)的第一個(gè)傳參,argv[1]就是傳給main的第二個(gè)參數(shù),以此類推后面的傳參。

運(yùn)行結(jié)果:

然后我在執(zhí)行程序的時(shí)候,可以加參數(shù):

注意: (1)main函數(shù)傳參都是通過字符串傳進(jìn)去。 (2)程序被調(diào)用時(shí)傳參,各個(gè)參數(shù)之間是通過空格來間隔的。 (3)在程序內(nèi)部如果要使用argv,那么最好先檢查一下argc。總結(jié)

今天的分享就到這里結(jié)束了,關(guān)于shell腳本的教程,后面也會專門寫一系列的文章來講的。


關(guān)注公眾號,每周分享至少3篇開源技術(shù)干貨,文章中如有沒看懂的地方可以私聊我,我看到了會立馬回復(fù)你,個(gè)人微信號:a18879499804,在看的話,幫忙點(diǎn)個(gè)贊,非常感謝!

總結(jié)

以上是生活随笔為你收集整理的c语言 方程改main的值_c语言main函数里的参数argv和argc解析的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产夫妻在线视频 | 无码人妻精品一区二区三区99v | 四色在线 | 好吊色视频在线观看 | 久久丫精品忘忧草西安产品 | 国产三级第一页 | 亚洲图片欧美日韩 | 中国黄色1级片 | 免费啪啪网址 | 四虎免费久久 | 日美韩一区二区三区 | 久久99精品久久久久久琪琪 | 成年人在线观看av | 第九色| 久草视频在线免费看 | 黄色另类小说 | 12av在线| 日本天堂影院 | 男女h网站| 中文字幕在线有码 | 亚洲一区在线不卡 | 久久97精品久久久久久久不卡 | 九九热在线视频免费观看 | 欧美一级做a爰片免费视频 成人激情在线观看 | 久久久精品电影 | 波多野结衣喷潮 | 香蕉网久久 | 户外露出一区二区三区 | www日本在线观看 | 国产香蕉一区二区三区 | 欧美成人免费大片 | 91一区二区在线观看 | 亚洲视频免费在线播放 | 午夜三级福利 | 色欲久久久天天天精品综合网 | 人人搞人人插 | 国产精品第72页 | 亚洲日本不卡 | 国产精品久久久久国产a级 国产一区二区在线播放 | 亚洲精品123区 | 亚洲一区在线不卡 | 爱啪啪影视 | 国产一区二区三区黄片 | 神马久久午夜 | 成人av播放 | 久久高清一区 | 四虎在线免费观看视频 | av动态 | 色欧美日韩 | 久久久久久久国产精品毛片 | 成人免费a级片 | 亚洲最大成人在线视频 | 国产麻豆精品久久一二三 | 成人福利小视频 | 中文字幕超清在线观看 | 蜜桃视频在线入口www | 无码人妻精品一区二区三区蜜桃91 | 成人午夜激情 | 色妇网 | 不卡av一区二区 | 成人高潮片免费视频 | 黄色茄子视频 | 中文字幕+乱码+中文乱 | xxxxx在线 | 日本黄色免费视频 | 女同性αv亚洲女同志 | 亚洲黄色激情 | av在线资源站 | 香港三级日本三级韩国三级 | 五月天综合色 | 亚洲 小说区 图片区 都市 | 久久艹国产 | 亚洲 欧美 变态 另类 综合 | 亚洲毛片一区二区 | 亚洲福利网| 能免费看18视频网站 | 国产69精品久久久久777 | 婷婷中文网 | 亚洲成人av免费观看 | 中文字幕18页 | 大肉大捧一进一出好爽mba | 97免费视频观看 | 五月天久久久久久 | 青青草伊人久久 | 爱爱精品视频 | av大帝 | 亚洲av电影天堂男人的天堂 | 伊人婷婷久久 | 国产精品99久久久久 | xxxx96| 99热都是精品 | 亚洲第一成网站 | 国产精品久久久久久久久免费相片 | 久久久123 | jizz高潮| 综合亚洲网 | 亚洲一级电影 | 依依成人综合 | 免费荫蒂添的好舒服视频 |