實(shí)參可以是常量、變量、表達(dá)式、函數(shù)等任意類型,形參只能是變量,在被定義的函數(shù)中,必須指定形參的類型。
創(chuàng)新互聯(lián)公司專注于金華企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè),購(gòu)物商城網(wǎng)站建設(shè)。金華網(wǎng)站建設(shè)公司,為金華等地區(qū)提供建站服務(wù)。全流程按需求定制開(kāi)發(fā),專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)公司專業(yè)和態(tài)度為您提供的服務(wù)
形式參數(shù)(形參):定義函數(shù)名和函數(shù)體時(shí)需要用的參數(shù),目的是用來(lái)接收調(diào)用該函數(shù)時(shí)傳遞的參數(shù)。
實(shí)際參數(shù)(實(shí)參):傳遞給被調(diào)用函數(shù)的值。
通俗的來(lái)講,形參就像物理計(jì)算中的公式中的符號(hào),比如Ω,A,V等,而實(shí)參就是在計(jì)算中的實(shí)際的數(shù)值。調(diào)用過(guò)程就是實(shí)現(xiàn)形參與實(shí)參的結(jié)合,把實(shí)參的值通過(guò)調(diào)用傳遞給形參,相當(dāng)于把具體的值代入公式進(jìn)行計(jì)算。
擴(kuò)展資料:
兩者的區(qū)別:
區(qū)別1
形參只能是變量,在被定義的函數(shù)中,必須指定形參的類型。
實(shí)參可以是常量、變量、表達(dá)式、函數(shù)等,
區(qū)別2
形參:沒(méi)有確定的值
實(shí)參:無(wú)論實(shí)參是何種類型的量,在進(jìn)行函數(shù)調(diào)用時(shí),它們都必須具有確定的值,以便把這些值傳送給形參。因此應(yīng)預(yù)先用賦值,輸入等辦法使實(shí)參獲得確定值。
區(qū)別3
形參變量在未出現(xiàn)函數(shù)調(diào)用時(shí),并不占用內(nèi)存,只在調(diào)用時(shí)才占用。調(diào)用結(jié)束后,將釋放內(nèi)存。
開(kāi)辟內(nèi)存存儲(chǔ)數(shù)據(jù)
要交換任意變量 那么就只能通過(guò)指針來(lái)進(jìn)行
不考慮變量類型,而直接交換值。
需要三個(gè)參數(shù),兩個(gè)變量地址,以及變量所占的空間。
賦值可以用memcpy
代碼如下:
void?super_swap(void?*?a,?void?*b,?int?size)
{
void?*p?=?malloc(size);
memcpy(p,?a,?size);
memcpy(a,b,size);
memcpy(b,p,size);
free(p);
}
百度上找的答案,這個(gè)問(wèn)題挺難的,至少我不會(huì),,,學(xué)習(xí)c語(yǔ)言好今年了。
#includestdio.h
#define?SCANF(m)?scanf("%"#m"%"#m,m##a,m##b)
#define?PRINTF(m)?printf("交換結(jié)果:%"#m"\t%"#m"\n",m##a,m##b)
void?swap(char,void*,void*,void*);
int?main()
{
unsigned?ua,ub,ut;
int?da,db,dt;
float?fa,fb,ft;
double?lfa,lfb,lft;
char?ca,cb,ct,ch;
printf("數(shù)據(jù)類型:");
printf("u-無(wú)符號(hào)整型\ti-有符號(hào)整型\tf-單精度實(shí)型\td-雙精度實(shí)型\tc-字符型\n");
printf("請(qǐng)選擇\n");
scanf("%c",ch);
fflush(stdin);
printf("請(qǐng)輸入兩個(gè)指定類型的數(shù)據(jù):");
switch(ch)
{
case?'u':SCANF(u);swap(ch,ua,ub,ut);PRINTF(u);break;
case?'i':SCANF(d);swap(ch,da,db,dt);PRINTF(d);break;
case?'f':SCANF(f);swap(ch,fa,fb,ft);PRINTF(f);break;
case?'d':SCANF(lf);swap(ch,lfa,lfb,lft);PRINTF(lf);break;
case?'c':SCANF(c);swap(ch,ca,cb,ct);PRINTF(c);break;
}
}
void?swap(char?c,void?*p1,void?*p2,void?*p3)
{
switch(c){
case?'u':*(unsigned?*)p3=*(unsigned?*)p1;*(unsigned?*)p1=*(unsigned?*)p2;*(unsigned?*)p2=*(unsigned?*)p3;break;
case?'i':*(int?*)p3=*(int?*)p1;*(int?*)p1=*(int?*)p2;*(int?*)p2=*(int?*)p3;break;
case?'f':*(float?*)p3=*(float?*)p1;*(float?*)p1=*(float?*)p2;*(float?*)p2=*(float?*)p3;break;
case?'d':*(double?*)p3=*(double?*)p1;*(double?*)p1=*(double?*)p2;*(double?*)p2=*(double?*)p3;break;
default?:*(char?*)p3=*(char?*)p1;*(char?*)p1=*(char?*)p2;*(char?*)p2=*(char?*)p3;break;
}
}
本文標(biāo)題:c語(yǔ)言任意類型變量函數(shù) c語(yǔ)言任意類型變量函數(shù)是什么
標(biāo)題鏈接:http://vcdvsql.cn/article24/dopjeje.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供動(dòng)態(tài)網(wǎng)站、品牌網(wǎng)站制作、商城網(wǎng)站、Google、靜態(tài)網(wǎng)站、用戶體驗(yàn)
聲明:本網(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í)需注明來(lái)源: 創(chuàng)新互聯(lián)