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格式符,...