主函數(shù)的實參是由操作系統(tǒng)傳遞的。
成都創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站制作、成都做網(wǎng)站、龍泉驛網(wǎng)絡(luò)推廣、小程序開發(fā)、龍泉驛網(wǎng)絡(luò)營銷、龍泉驛企業(yè)策劃、龍泉驛品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎;成都創(chuàng)新互聯(lián)公司為所有大學(xué)生創(chuàng)業(yè)者提供龍泉驛建站搭建服務(wù),24小時服務(wù)熱線:13518219792,官方網(wǎng)址:vcdvsql.cn
c++規(guī)定的主函數(shù)標(biāo)準(zhǔn)格式(c語言未具體規(guī)定):int
main(int
argc,
char
*argv[])
其中int
argc
表示操作系統(tǒng)傳遞給程序的參數(shù)個數(shù),char
*argv[]
存儲各個參數(shù)。
例如:
若有程序如下:
int
main(int
argc,
char
*argv[])
{
int
i;
printf("您輸入了
%d
個參數(shù)\n分別是:",argc);
for(i=0;i
運行-
cmd
-
輸入
c:\app.exe
hello
world!
回車
執(zhí)行結(jié)果將是:
您輸入了
3
個參數(shù)
分別是:c:\app.exe
hello
world!
"
注意,第一個參數(shù)值將是你程序的文件名。
#include cstdlib
#include iostreamusing namespace std;
int calculate( int a, int b, int c )
{
return a*a*a+b*b*b+c*c*c;
}
int main(int argc, char *argv[])
{
int x, y, z, l;
cout " 計算等式的結(jié)果 " endl;
cout " ------------------------------------------------- " endl;
cout " 請輸入x,y和z的值: ";
cin x y z;
l = calculate( x, y, z );
cout " 這3個數(shù)的立方和是 " l endl;
system("PAUSE");
return EXIT_SUCCESS;
}
做好了,請檢查。。。
C語言的帶參數(shù)的main函數(shù)格式為main(int?argc,char*?argv[]),其中argc為參數(shù)個數(shù)加1,argv為參數(shù)列表,從argv[1]開始。編譯后生成可執(zhí)行文件,可以在執(zhí)行的程序后加參數(shù),比如編譯一個程序為test.exe,則在執(zhí)行時可以輸入:
test.exe?1?firestone
在這里,argc等于3,argv[0]為"test.exe",argv[1]為"1",argv[2]為"firestone"。
如果有下面的程序:
#include?stdio.h
void?main(int?argc,char?*argv[])
{
printf("You've?input?%d?parameters.\n",argc-1);
for(int?i=1;iargc;i++)printf("The?No.%d?is:%s\n",i,argv[i]);
}
則上面的輸入會產(chǎn)生如下運行結(jié)果:
You've?input?2?parameters.
The?No.1?is?1
The?No.2?is?firestone
C語言中參數(shù)分為實際參數(shù)(實參)與形式參數(shù)(形參)。
實際參數(shù)是在調(diào)用時傳遞個該函數(shù)的參數(shù)。
形式參數(shù)是在定義函數(shù)名和函數(shù)體的時候使用的參數(shù),目的是用來接收調(diào)用該函數(shù)時傳如的參數(shù)。
實際參數(shù)是在調(diào)用時傳遞個該函數(shù)的參數(shù).
舉一個很簡單的例子:
#includestdio.h
int f(int b) // b為形參
{
return b;
}
void main()
{
int a=1;
printf("%d",f(a));// a為實參
}
如果是諸如函數(shù)聲明int fun(int b[]),這個是傳的地址,如果fun內(nèi)部有賦值操作,那么會改變數(shù)組b的元素的值
如果是執(zhí)行語句fun(b[i]);那么傳的就是b[i]這個值,執(zhí)行完fun后,b[i]的值不會變
a是一個指向指針的指針,a里面的內(nèi)容是另一個指針p的地址,那么*a就是p的地址,**a就是*p。
同理,b的內(nèi)容是另一個指針q的地址,*b就是q的地址,**b就是*q
t = *a, 那么t的內(nèi)容就是p的地址,
*a = *b, a里面的內(nèi)容變成了q的地址,即*a是q的地址,**a就是*q
*b = t, b里面的內(nèi)容變成了p的地址,即*b是p的地址,**b就是*p
這三句,將**a的值和**b的值互換了,是對指針的操作。
傳值方式:向函數(shù)傳遞參數(shù)時,先復(fù)制一份參數(shù),然后才將復(fù)制品傳給參數(shù)。函數(shù)中所有對參數(shù)的操作,就只是在使用復(fù)制品。不會改變傳遞前的參數(shù)本身。
傳址方式:將地址傳送給函數(shù),函數(shù)對該地址的內(nèi)容操作,相當(dāng)于對實參本身的操作
無參函數(shù),是指在主調(diào)函數(shù)調(diào)用被調(diào)函數(shù)時,主調(diào)函數(shù)不向被調(diào)函數(shù)傳遞數(shù)據(jù)。無參函數(shù)一般用來執(zhí)行特定的功能,可以有返回值,也可以沒有返回值,但一般以沒有返回值居多。
有參函數(shù),是指在主調(diào)函數(shù)調(diào)用被調(diào)函數(shù)時,主調(diào)函數(shù)通過參數(shù)向被調(diào)函數(shù)傳遞數(shù)據(jù)。在一般情況下,有參函數(shù)在執(zhí)行被調(diào)函數(shù)時會得到一個值并返回給主調(diào)函數(shù)使用。
擴展資料
1、定義有參函數(shù)的一般形式為:
函數(shù)類型 函數(shù)名(參數(shù)類型1 參數(shù)名1, 參數(shù)類型2 參數(shù)名2, …, 參數(shù)類型n 參數(shù)名n)
{
聲明部分
語句部分
}
2、有參函數(shù)使用注意事項:
(1)在定義函數(shù)時,必須要指定形參的類型。實參與形參的個數(shù)必須相等,若不相等就是語法錯誤。此外,實參與形參的類型要相同或賦值兼容。最好是相同,這樣不容易出錯。如果不相同則實參按形參的類型轉(zhuǎn)化,然后再送給形參。
(2)在傳遞數(shù)據(jù)時,實參與形參是按順序一一對應(yīng)的。
文章名稱:c語言中帶參數(shù)的函數(shù) c語言里的參數(shù)
網(wǎng)頁URL:http://vcdvsql.cn/article2/hpgcoc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開發(fā)、移動網(wǎng)站建設(shè)、微信公眾號、網(wǎng)站排名、自適應(yīng)網(wǎng)站、全網(wǎng)營銷推廣
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)