乙個c程式總是從main()函式開始執bai行的,但是不一定都在main函式最後結束。
main函式命令列引數的多種表示形式:
1、int
main
(void
)2、int
main
(int argc,
char
*ar**)
=int
main
(int argc,
char
**ar**)
.(參照arguments to main和c++ primer7.
2.6節)
1、int argc (引數個數,函式名作為第乙個傳參) arg是指arguments,即引數
argc=
1:此時只有乙個程式名稱(程式名儲存在ar**[
0]中),而無其他函式傳參
2、char
**ar** 即char
*ar**[
] 指標陣列,存放命令列引數(空白符分隔)
ar**[
0] 指向程式執行時的全路徑名
ar**[
1] 指向程式在dos命令中執行程式名後的第乙個字串
ar**[
2] 指向執行程式名後的第二個字串
...ar**[argc] 為null(因為是從0開始的)
函式呼叫的形式: 函式名(實參1,實參2,實參3 ,… ,實參n)
實參可以是具有確定值的常量、變數、表示式、函式等
例如:
func
(rec1,rec2+rec3,
(rec4,rec5));
f(m+n,x+y,
f(m+n,z,
(x,y)))
;實參1
=rec1 m+n
實參2=rec2+rec3 x+y
實參3=
(rec4,rec5)
f(m+n,z,
(x,y)
)故實參個數為3.
int
fun(
int a,
int b =
10) 預設引數僅在c++中可行,c中不支援
主函式**:
intmain()
c++中預設引數:預設實參作為形參的初始值出現在形參列表中。我們可以為乙個或多個形參定義預設值,不過需要注意一點的是,一旦某個形參被賦予了預設值,它後面的所有形參都必須有預設值;
例項:函式宣告方式:
如int add(int x,int y=5,int z=6); int add(int x=1,int y=5,int z=6);
但如下不合理:int add(int x=1,int y=5,int z); int add(int x=1,int y,int z=6);
#include
#define funi(a) fun( a, 10) 用巨集替換實現預設引數b=10
intfun
(int a,
int b )
intmain()
C語言main函式引數
c語言main函式引數 int main int argc char argv 或者是 int main int argc,char argv argc 命令列總的引數的個數 以空白符分隔 argv 字串指標陣列 陣列內存放指向char型別的指標 用來存放指向字串引數的指標陣列,每個元素指向乙個引數...
C語言main函式的引數
一般的的main函式都是不帶引數的。因此main 後的括號都是空括號。實際上,main函式可以帶引數,這個引數可以認為是main函式的形式引數。c語言規定main函式的引數只能有兩個,習慣上這兩個引數寫為argc和argv。因此,main函式的函式頭可寫為 main argc,argv c語言還規定...
C語言 main 函式帶引數
想必我們都知道函式是帶有從引數的。但是似乎,很少考慮過主函式 main 帶引數。不帶引數的main函式格式為 main 它實際上是 main void 的簡寫 c語言中如果主函式需要帶引數,帶引數的main函式格式為 main int argc,char ar 也可寫成 main int argc,...