<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > C 語(yǔ)言函數的形參和實(shí)參

C 語(yǔ)言函數的形參和實(shí)參

作者: 時(shí)間:2018-07-24 來(lái)源:網(wǎng)絡(luò ) 收藏

上一個(gè)例程中在進(jìn)行函數調用的時(shí)候,不需要任何參數傳遞,所以函數定義和調用時(shí)括號內都是空的,但是更多的時(shí)候我們需要在主調函數和被調用函數之間傳遞參數。在調用一個(gè)有參數的函數時(shí),函數名后邊括號中的參數叫做實(shí)際參數,簡(jiǎn)稱(chēng)。而被調用的函數在進(jìn)行定義時(shí),括號里的參數叫做形式參數,簡(jiǎn)稱(chēng)。我們用個(gè)簡(jiǎn)單程序例子做說(shuō)明。

本文引用地址:http://dyxdggzs.com/article/201807/383551.htm

unsigned char add(unsigned char x, unsigned char y); //函數聲明

void main(){

unsigned char a = 1;

unsigned char b = 2;

unsigned char c = 0;

//調用時(shí),a 和 b 就是,把函數的返回值賦給 c

//執行完后,c 的值就是 3

c = add(a, b);

while(1);

}

//函數定義,這里括號中的 x 和 y 就是

unsigned char add(unsigned char x, unsigned char y){

unsigned char z = 0;

z = x + y;

return z; //返回值 z 的類(lèi)型就是函數 add 的類(lèi)型

}

這個(gè)演示程序雖然很簡(jiǎn)單,但是函數調用的全部?jì)热荻寄依ㄔ趦攘?。主調函數 main 和被調用函數 add 之間的數據通過(guò)發(fā)生了傳遞關(guān)系,而函數運算完后把值傳遞給了變量 c,函數只要不是 void 類(lèi)型,就都會(huì )有返回值,返回值類(lèi)型就是函數的類(lèi)型。

關(guān)于形參和實(shí)參,還有以下幾點(diǎn)需要注意:

函數定義中指定的形參,在未發(fā)生函數調用時(shí)不占內存,只有函數調用時(shí),函數 add中的形參才被分配內存單元。在調用結束后,形參所占的內存單元也被釋放,這個(gè)前邊講過(guò)了,形參是局部變量。

實(shí)參可以是常量,也可以是簡(jiǎn)單或者復雜的表達式,但是要求他們必須有確定的值,在調用發(fā)生時(shí)將實(shí)參的值傳遞給形參。如上邊這個(gè)程序也可以寫(xiě)成:c = add(1, a+b);

形參必須要指定數據類(lèi)型,和定義變量一樣,因為它本來(lái)就是局部變量。

實(shí)參和形參的數據類(lèi)型應該相同或者賦值兼容。和變量賦值一樣,當形參和實(shí)參出現不同類(lèi)型時(shí),則按照不同類(lèi)型數值的賦值規則進(jìn)行轉換。

主調函數在調用函數之前,應對被調函數做原型聲明。

實(shí)參向形參的數據傳遞是單向傳遞,不能由形參再回傳給實(shí)參。也就是說(shuō),實(shí)參值傳遞給形參后,調用結束,形參單元被釋放,而實(shí)參單元仍保留并且維持原值。



評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>