main arguments C语言,IT之家学院:通俗科普C语言main函数的参数
感謝IT之家網友 stevapple 的投遞
對于C語言的初學者,關于main函數這個程序主入口一定接觸得再多不過了。我們來看看下面幾種常見的入門程序——Hello World:
如果是由國內老教材(例如NCRE二級C語言)入門的,你見到的可能是下面這個:#include
void main() {
printf("Hello World!");
}
如果是新一點的教材,也可能是這樣:#include
int main() {
printf("Hello World!");
return 0;
}
如果和筆者一樣翻閱過《C Primer Plus》,或許還能找到一個不一樣的表達:#include
int main(int argc, char* argv[]) {
printf("Hello World!");
return 0;
}
實際上,Xcode默認的C語言模版正是這樣的寫法。
那么,這個多出來的main函數參數究竟是什么呢?
main函數作為程序主入口,其參數其實就是程序運行的參數。
第一個參數,整型,通常命名為argc,代表參數個數。argc是一個正整數,因為程序所在的路徑即第一個參數。
第二個參數,通常命名為argv,是一個指向字符串的指針數組。這是一個個參數的集合,依次以指針形式依次存放在數組中。
所以,光是寫一個Hello World實在是太浪費這個參數啦有木有?其實參數的作用還可以這么理解:
比方說移動文件/重命名用的mv指令,如果是一個C語言程序……mv 1.h 2.h
調用程序的指令”mv”就是第一個參數,”1.h”、”2.h”分別是第二個和第三個參數,argc的值就是3。
最簡單的應用見下:#include
//以下實現一個反序輸出參數的C語言程序
int main(int argc, char* argv[]) {
printf("This program runs in %s", argv[0]);
//判斷是否有外部參數
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;
}
總結
以上是生活随笔為你收集整理的main arguments C语言,IT之家学院:通俗科普C语言main函数的参数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C语言程序输入两行汉字,C语言多行输入问
- 下一篇: if(x1-x20) c语言,如何用if