c語言中參數(shù).函數(shù),c語言中函數(shù)參數(shù)是什么

C語言帶參數(shù)的函數(shù)

#include cstdlib

創(chuàng)新互聯(lián)擁有網(wǎng)站維護(hù)技術(shù)和項(xiàng)目管理團(tuán)隊(duì),建立的售前、實(shí)施和售后服務(wù)體系,為客戶提供定制化的成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)、網(wǎng)站維護(hù)、成都二樞服務(wù)器租用托管解決方案。為客戶網(wǎng)站安全和日常運(yùn)維提供整體管家式外包優(yōu)質(zhì)服務(wù)。我們的網(wǎng)站維護(hù)服務(wù)覆蓋集團(tuán)企業(yè)、上市公司、外企網(wǎng)站、商城網(wǎng)站制作、政府網(wǎng)站等各類型客戶群體,為全球千余家企業(yè)提供全方位網(wǎng)站維護(hù)、服務(wù)器維護(hù)解決方案。

#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 " 計(jì)算等式的結(jié)果 " endl;

cout " ------------------------------------------------- " endl;

cout " 請(qǐng)輸入x,y和z的值: ";

cin x y z;

l = calculate( x, y, z );

cout " 這3個(gè)數(shù)的立方和是 " l endl;

system("PAUSE");

return EXIT_SUCCESS;

}

做好了,請(qǐng)檢查。。。

c語言中main函數(shù)的參數(shù)

main函數(shù)可以不帶參數(shù),也可以帶參數(shù),這個(gè)參數(shù)可以認(rèn)為是 main函數(shù)的形式參數(shù)。

C語言規(guī)定main函數(shù)的參數(shù)只能有兩個(gè),還規(guī)定argc(第一個(gè)形參)必須是整型變量,argv( 第二個(gè)形參)必須是指向字符串的指針數(shù)組。加上形參說明后,main函數(shù)的函數(shù)頭應(yīng)寫為:

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

由于main函數(shù)不能被其它函數(shù)調(diào)用,因此不可能在程序內(nèi)部取得實(shí)際值。那么,在何處把實(shí)參值賦予main函數(shù)的形參呢? 實(shí)際上,main函數(shù)的參數(shù)值是從操作系統(tǒng)命令行上獲得的。當(dāng)我們要運(yùn)行一個(gè)可執(zhí)行文件時(shí),在DOS提示符下鍵入文件名,再輸入實(shí)際參數(shù)即可把這些實(shí)參傳送到main的形參中去。

DOS提示符下命令行的一般形式為:

C:\可執(zhí)行文件名 參數(shù) 參數(shù)……

c語言中參數(shù)是什么概念

函數(shù)的參數(shù)分為形參和實(shí)參兩種。

形參出現(xiàn)在函數(shù)定義中,在整個(gè)函數(shù)體內(nèi)都可以使用,離開該函數(shù)則不能使用。實(shí)參出現(xiàn)在主調(diào)函數(shù)中,進(jìn)入被調(diào)函數(shù)后,實(shí)參變量也不能使用。

形參和實(shí)參的功能是作數(shù)據(jù)傳送,發(fā)生函數(shù)調(diào)用時(shí),主調(diào)函數(shù)把實(shí)參的值傳送給被調(diào)函數(shù)的形參從而實(shí)現(xiàn)主調(diào)函數(shù)向被調(diào)函數(shù)的數(shù)據(jù)傳送。

舉個(gè)例子:

定義一個(gè)函數(shù)s=f(a,b),功能是將a和b的差賦值給s,那么,a和b就是這個(gè)函數(shù)的兩個(gè)參數(shù)。

擴(kuò)展資料:

C語言的參數(shù)傳遞方式

方法有3種方式:值傳遞、地址傳遞、引用傳遞

tips:

被調(diào)用函數(shù)的形參只有函數(shù)被調(diào)用時(shí)才會(huì)臨時(shí)分配存儲(chǔ)單元,一旦調(diào)用結(jié)束占用的內(nèi)存便會(huì)被釋放

值傳遞和地址傳遞,傳遞的都是實(shí)參的一個(gè)拷貝

C語言中實(shí)參和形參之間的數(shù)據(jù)傳遞是單向的“值傳遞”,單向傳遞,只能由實(shí)參傳給形參,反之不行

輸出格式并沒有選擇%p而是選擇了%d,因?yàn)槭M(jìn)制的數(shù)看起來更直觀。

值傳遞

如果只是傳遞值的話:

#include stdio.h

//值傳遞傳值

void swap( int x, int y);

int main()

{

int a=2,b=3;

printf("before:實(shí)參為a,b\na=%d,地址為%d\nb=%d,地址為%d\n\n",a,a,b,b);

swap(a,b);

printf("after:實(shí)參為a,b\na=%d,地址為%d\nb=%d,地址為%d\n\n",a,a,b,b);

return 0;

}

void swap(int x,int y)

{

int tmp;

tmp=x;

x=y;

y=tmp;

printf("inside:形參為x,y\nx=%d,地址為%d\ny=%d,地址為%d\n\n",x,x,y,y);

}

【C語言】函數(shù)作為函數(shù)參數(shù)

Question:在函數(shù)void function()中,需要將另外一個(gè)函數(shù)double input()的函數(shù)名作為參數(shù)。

typedef double (*P)(int);

Note:參數(shù)部分需要注意,函數(shù)input()所有的輸入?yún)?shù)類型都需要包含在內(nèi)。

例如 double input(double u[5], int num, double x), 則在定義時(shí)寫作 typedef double (*P)(double*,int,double)。

此時(shí),函數(shù)作為一種類型,可以直接被其他函數(shù)調(diào)用。

函數(shù)聲明中定義 void function(P input),調(diào)用function(input)即可。

也可以寫成

C語言函數(shù)參數(shù)

匯編代碼gcc:

第一個(gè)問題的匯編:

movl $0,?%ebx

incl %ebx

incl %ebx

incl %ebx

movl %ebx,?8(%esp)

movl %ebx,?4(%esp)

movl %ebx,?(%esp)

call _func

匯編顯示,先將n自增了3次變?yōu)?,然后調(diào)用函數(shù),因此都是3

第二個(gè)問題的匯編:

movl $3,?16(%esp)

movl $98,?12(%esp)

movl $2,?8(%esp)

movl $97,?4(%esp)

movl $1,?(%esp)

call _func2

可以看出參數(shù)對(duì)應(yīng)的棧地址應(yīng)該是連續(xù)的

另外,這個(gè)程序在VC6下的結(jié)果完全不一樣:

func for n++

? ?0 ? ? ? ? ?0 ? ? ? ? ?0

12ff2c ? ? 12ff30 ? ? 12ff34

func for ++n

? ?3 ? ? ? ? ?2 ? ? ? ? ?1

12ff2c ? ? 12ff30 ? ? 12ff34

func2

12ff24 ? ? 12ff28 ? ? 12ff2c ? ? 12ff30 ? ? 12ff34

但是最后的地址也是連續(xù)的。

此類問題知道上問過多次了,可以說沒有什么意義,結(jié)果與編譯器實(shí)現(xiàn)相關(guān),實(shí)際編程沒有用處,除非寫代碼的人喜歡玩花俏

C語言里面,什么是有參函數(shù),什么是無參函數(shù)

無參函數(shù),是指在主調(diào)函數(shù)調(diào)用被調(diào)函數(shù)時(shí),主調(diào)函數(shù)不向被調(diào)函數(shù)傳遞數(shù)據(jù)。無參函數(shù)一般用來執(zhí)行特定的功能,可以有返回值,也可以沒有返回值,但一般以沒有返回值居多。

有參函數(shù),是指在主調(diào)函數(shù)調(diào)用被調(diào)函數(shù)時(shí),主調(diào)函數(shù)通過參數(shù)向被調(diào)函數(shù)傳遞數(shù)據(jù)。在一般情況下,有參函數(shù)在執(zhí)行被調(diào)函數(shù)時(shí)會(huì)得到一個(gè)值并返回給主調(diào)函數(shù)使用。

擴(kuò)展資料

1、定義有參函數(shù)的一般形式為:

函數(shù)類型 函數(shù)名(參數(shù)類型1 參數(shù)名1, 參數(shù)類型2 參數(shù)名2, …, 參數(shù)類型n 參數(shù)名n)

{

聲明部分

語句部分

}

2、有參函數(shù)使用注意事項(xiàng):

(1)在定義函數(shù)時(shí),必須要指定形參的類型。實(shí)參與形參的個(gè)數(shù)必須相等,若不相等就是語法錯(cuò)誤。此外,實(shí)參與形參的類型要相同或賦值兼容。最好是相同,這樣不容易出錯(cuò)。如果不相同則實(shí)參按形參的類型轉(zhuǎn)化,然后再送給形參。

(2)在傳遞數(shù)據(jù)時(shí),實(shí)參與形參是按順序一一對(duì)應(yīng)的。

分享題目:c語言中參數(shù).函數(shù),c語言中函數(shù)參數(shù)是什么
分享URL:http://muchs.cn/article2/hcijoc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序、網(wǎng)站排名、企業(yè)建站、手機(jī)網(wǎng)站建設(shè)、建站公司、定制開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站制作