程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> c說話main函數應用及其參數引見

c說話main函數應用及其參數引見

編輯:關於C++

c說話main函數應用及其參數引見。本站提示廣大學習愛好者:(c說話main函數應用及其參數引見)文章只能為提供參考,不一定能成為您想要的結果。以下是c說話main函數應用及其參數引見正文


每C法式都必需有一main()函數,可以依據本身的喜好把它放在法式的某個處所。有些法式員把它放在最後面,而另外一些法式員把它放在最初面,不管放在哪一個處所,以下幾點解釋都是合適的。

在Turbo C2.0啟動進程中,傳遞main()函數三個參數:argc,argv和env。
* argc:整數,為傳給main()的敕令行參數個數。
* argv:字符串數組。
char* argv[],我們可以看出,argv的類型是char* [],等於一個指向字符數組的指針,所以我們還可以寫作:char** argv。
在DOS 3.X版本中,argv[0]為法式運轉的全途徑名;
對DOS 3.0以下的版本,argv[0]為空串("")。argv[1]為在DOS敕令行中履行法式名後的第一個字符串;argv[2]為履行法式名後的第二個字符串;...
argv[argc]為NULL。
*env:字符串數組。env[]的每個元素都包括ENVVAR=value情勢的字符串。個中ENVVAR為情況變量如PATH或87。value為ENVVAR的對應值如C:\DOS,C:\TURBOC(關於PATH)或YES(關於87)。

TurboC2.0啟動時老是把這三個參數傳遞給main()函數,可以在用戶法式中解釋(或不解釋)它們,假如解釋了部門(或全體)參數,它們就成為main()子法式的部分變量。 請留意:一旦想解釋這些參數,則必需按argc,argv, env的次序,如以下的例子:


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

個中第二種情形是正當的,但不罕見,由於在法式中很少有只用argc,而不消argv[]的情形。以下供給一樣例法式EXAMPLE.EXE, 演示若何在main()函數中應用三個參數:

/*program name EXAMPLE.EXE*/
#include
#include
main(int argc,char *argv[],char *env[])
{
int i;
printf("These are the %d command-line arguments passed to main:\n\n", argc);
for(i=0; i<=argc; i++)
printf("argv[%d]:%s\n", i, argv[i]);
printf("\nThe environment string(s)on this system are: \\n\n");
for(i=0; env[i]!=NULL; i++)
printf(" env[%d]:%s\n", i, env[i]);
}

假如在DOS提醒符下,按以下方法運轉
EXAMPLE.EXE: C:\example first_argument "argument with blanks" 3 4"last butone" stop!

留意:
可以用雙引號括起內含空格的參數,如本例中的:"argumentwith blanks"和"Last but one")。 應當提示的是:傳送main()函數的敕令行參數的最年夜長度為128個字符 (包含參數間的空格),這是由DOS限制的。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved