設(shè)置
  • 日夜間
    隨系統(tǒng)
    淺色
    深色
  • 主題色
比亚迪秦 L EV 上市,11.98 万-13.98 万元    苹果 CEO 库克现身北京

IT之家學(xué)院:通俗科普C語言main函數(shù)的參數(shù)

2017/7/7 13:33:07 來源:IT之家 作者:stevapple 責(zé)編:騎士
感謝IT之家網(wǎng)友 stevapple 的線索投遞!

感謝IT之家網(wǎng)友 stevapple 的投遞

對于C語言的初學(xué)者,關(guān)于main函數(shù)這個程序主入口一定接觸得再多不過了。我們來看看下面幾種常見的入門程序——Hello World:

如果是由國內(nèi)老教材(例如NCRE二級C語言)入門的,你見到的可能是下面這個:

#include <stdio.h>

void main() {

printf("Hello World!");

}

如果是新一點(diǎn)的教材,也可能是這樣:

#include <stdio.h>

int main() {

printf("Hello World!");

return 0;

}

如果和筆者一樣翻閱過《C Primer Plus》,或許還能找到一個不一樣的表達(dá):

#include <stdio.h>

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

printf("Hello World!");

return 0;

}

實(shí)際上,Xcode默認(rèn)的C語言模版正是這樣的寫法。

那么,這個多出來的main函數(shù)參數(shù)究竟是什么呢?

main函數(shù)作為程序主入口,其參數(shù)其實(shí)就是程序運(yùn)行的參數(shù)。

第一個參數(shù),整型,通常命名為argc,代表參數(shù)個數(shù)。argc是一個正整數(shù),因?yàn)槌绦蛩诘穆窂郊吹谝粋€參數(shù)。

第二個參數(shù),通常命名為argv,是一個指向字符串的指針數(shù)組。這是一個個參數(shù)的集合,依次以指針形式依次存放在數(shù)組中。

所以,光是寫一個Hello World實(shí)在是太浪費(fèi)這個參數(shù)啦有木有?其實(shí)參數(shù)的作用還可以這么理解:

比方說移動文件/重命名用的mv指令,如果是一個C語言程序……

mv 1.h 2.h

調(diào)用程序的指令”mv”就是第一個參數(shù),”1.h”、”2.h”分別是第二個和第三個參數(shù),argc的值就是3。

最簡單的應(yīng)用見下:

#include <stdio.h>

//以下實(shí)現(xiàn)一個反序輸出參數(shù)的C語言程序

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

printf("This program runs in %s", argv[0]);

//判斷是否有外部參數(shù)

if(argc > 1) {

printf(", whose arguments are reversed as follows: \n");

//反序遍歷

for(int argx = argc - 1; argx > 0; argx--) printf("%s\n", argv[argx]);

} else printf(" with no argument. ");

return 0;

}

廣告聲明:文內(nèi)含有的對外跳轉(zhuǎn)鏈接(包括不限于超鏈接、二維碼、口令等形式),用于傳遞更多信息,節(jié)省甄選時間,結(jié)果僅供參考,IT之家所有文章均包含本聲明。

暂时无人打赏

相關(guān)文章

關(guān)鍵詞:C語言編程
  • 日榜
  • 周榜
  • 月榜

軟媒旗下網(wǎng)站: IT之家 最會買 - 返利返現(xiàn)優(yōu)惠券 iPhone之家 Win7之家 Win10之家 Win11之家

軟媒旗下軟件: 軟媒手機(jī)APP應(yīng)用 魔方 最會買 要知