來自 百度百科 argc argv

2021-06-05 13:33:07 字數 1445 閱讀 7700

argc,argv 用命令列編譯程式時有用。

主函式main中變數(int argc,char *argv[ ])的含義

我們平時定義主函式時通常的寫法為:int main( )或void main( )

其實,int main( ) 只是 unix 及 linux 默許的用法,

main(int argc, char *argv[ ], char *env[ ])才是unix和linux中的標準寫法。

argc: 整數,用來統計你執行程式時送給

main函式的命令列引數的個數

* argv: 字串

陣列,用來存放指向你的字串引數的

指標陣列,每乙個元素指向乙個引數

argv[0] 指向程式執行的全路徑名

argv[1] 指向在dos命令列中執行程式名後的第乙個字串

argv[2] 指向執行程式名後的第二個字串

...

argv[argc]為null。

*env:字串陣列。env[ ]的每乙個元素都包含envvar=value形式的字元

串。其中envvar為環境變數,value 為envvar的對應值。

argc, argv,env是在main( )函式之前被賦值的,

編譯器生成的

可執行檔案,main( )不是真正的入口點,而是乙個標準的函式,這個函式名與具體的

作業系統有關。

經典小例子,對於理解argv[ ]函式很管用:

#include <

stdio.h>

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

假設將其編譯為test.exe

在命令列下

〉test hello

得到的輸出結果為

2 hello

test

main(int argc, char*argv[ ]),其中argc是指變數的個數,本例中即指test和hello(注意,命令test也算在內)這兩個變數,argc即為2

argv是乙個char *的陣列,其中存放指向引數變數的指標,此處argv[0]指向test,argv[1]指向hello

再例:

#include

#include

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

if(argc==2)

exit(0)

} 編譯該程式:gcc -o edit edit.c

執行:〉edit

結果:請輸入想要編輯的檔名如:fillname

執行:〉edit f1.txt

結果:編輯 f1.txt

執行edit時,argc為1,argv[0]指向edit

而執行edit f1.txt時,argc的值為2,argv[0]指向edit,argv[1]指向f1.txt

xml簡介 來自百度百科

xml 概述xml extensible markup language 即可擴充套件標記語言,它與html一樣,都是sgml standard generalized markup language,標準通用標記語言 xml是internet環境中跨平台的,依賴於內容的技術,是當前處理結構化文件資...

演算法複雜度 來自百度百科

同一問題可用不同演算法 解決,而乙個演算法的質量優劣將影響到演算法乃至程式 的效率。演算法分析的目的在於選擇合適演算法和改進算 演算法複雜度 演算法複雜度 分為時間複雜度和空間複雜度 其作用 時間複雜度是度量演算法執行的時間長短 而空間複雜度是度量演算法所需儲存空間的大小。乙個演算法執行所耗費的時間...

C格式字元(來自百度百科)

printf函式格式字元 c語言中對於不同型別的資料用不同的格式字元。常用的有以下幾種格式字元 1 d格式字元。用來輸出十進位制整數。有以下幾種用法 1 d,按整型資料的實際長度輸出。2 md,m為指定的輸出欄位的寬度。3 ld,輸出長整形資料。2 o格式符,以八進位制整形式輸出整數。3 x格式符,...