C語言圖形處理

來源:互聯網
上載者:User

再談main()主函數

每一C 程式都必須有一main()函數,可以根據自己的愛好把它放在程式的某個地方。有些程式員把它放在最前面,而另一些程式員把它放在最後面,無論放在哪個地方,以下幾點說明都是適合的。

1. main() 參數

在Turbo C2.0啟動過程中,傳遞main()函數三個參數:argc,argv和env。

* argc: 整數,為傳給main()的命令列參數個數。

* 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 限制的。文字視窗的定義Turbo C2.0的字元螢幕函數主要包括文字視窗大小

的設定、視窗顏色的設定、視窗文本的清除和輸入輸出等函數。

Turbo C2.0預設定義的文字視窗為整個螢幕,共有80列(或40列)25行的文本單元,每個單元包括一個字元和一個屬性,字元即ASCII碼字元,屬性規定該字元的顏色和強度。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.