關於int main(int argc, const char** argv) 中arg和argv參數的解析


關於int main(int argc, const char** argv) 中arg和argv參數的解析

1. 帶形參的main函數用法

  • 帶形參的main函數,如 main( int argc, char* argv[], char **env ) ,是UNIX、Linux以及Mac OS操作系統中C/C++的main函數標准寫法,並且是血統最純正的main函數寫法。
  • 在如今的Visual Studio編譯器中,main()函數帶有參數argc和argv或者不帶,即無論是否在函數體中使用argc和argv,返回值為void或不為void,都是合法的。
  • 一般有很多變體:
//  返回值整形帶參的main函數
int main(int argc, const char** argv){


return 0;
}
//  返回值整形不帶參的main函數
int main(){


return 0;
}
//  返回值為void的main函數
void main(){


return 0;
}

2. argc,argv的具體含義

  • argc和argv參數在用命令行編譯程序時有用。main( int argc, char* argv[], char **env ) 中
  • 第一個參數,int型的argc,為整型,用來統計程序運行時發送給main函數的命令行參數的個數,在VS中默認值為1。
  • 第二個參數,char*型的argv[],為字符串數組,用來存放指向的字符串參數的指針數組,每一個元素指向一個參數。各成員含義如下:
  • argv[0]指向程序運行的全路徑名
  • argv[1]指向在DOS命令行中執行程序名后的第一個字符串
  • argv[2]指向執行程序名后的第二個字符串
  • argv[3]指向執行程序名后的第三個字符串
  • argv[argc]為NULL
  • 第三個參數,char**型的env,為字符串數組。env[]的每一個元素都包含ENVVAR=value形式的字符串,其中ENVVAR為環境變量,value為其對應的值。平時使用到的比較少。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM