main函數的參數問題

main函數能夠不帶參數,也能夠帶參數,這個參數能夠認爲是 main函數的形式參數。數組

C語言還規定argc(第一個形參)必須是整型變量,argv( 第二個形參)必須是指向字符串的指針數組。加上形參說明後,main函數的函數頭應寫爲:bash

main (int argc,char *argv[])。函數

因爲main函數不能被其它函數調用,所以不可能在程序內部取得實際值。那麼,在何處把實參值賦予main函數的形參呢? 實際上,main函數的參數值是從操做系統命令行上得到的。當咱們要運行一個可執行文件時,在$提示符下鍵入文件名,再輸入實際參數便可把這些實參傳送到main的形參中去。測試

$提示符下命令行的通常形式爲: ./a.out q1 q2 q3 q4 q5 q6spa

官方的說明是:argc保存的是命令行參數的數目,而argv是指向個參數的各指針所構成的數組。操作系統

下面新建一個test.c程序來測試一下。.net

1 #include <stdio.h>
  2 int main(char argc,char *argv[])
  3 {   
  4         char i=0;
  5     
  6 
  7         printf("argc is:%d \n",argc);
  8         for(i=0;i<argc;i++)
  9         {       
 10                 printf("argv[%d] is:%s \n",i,argv[i]);
 11         }  
 12          
 13 }

編譯,執行:命令行

由此,咱們能夠看出來,argc表示的是鍵入命令行的參數的個數,包括./a.out。argv[]存放的是指向各個參數的指針。鍵入的命令行以空格爲間隔,參數包括可執行文件a.out的位置(./a.out),'.'表示當前位置。指針

相關文章
相關標籤/搜索