色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > C 語言函數(shù)的形參和實(shí)參

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

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

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

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

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

          void main(){

          unsigned char a = 1;

          unsigned char b = 2;

          unsigned char c = 0;

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

          //執(zhí)行完后,c 的值就是 3

          c = add(a, b);

          while(1);

          }

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

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

          unsigned char z = 0;

          z = x + y;

          return z; //返回值 z 的類型就是函數(shù) add 的類型

          }

          這個(gè)演示程序雖然很簡單,但是函數(shù)調(diào)用的全部內(nèi)容都囊括在內(nèi)了。主調(diào)函數(shù) main 和被調(diào)用函數(shù) add 之間的數(shù)據(jù)通過發(fā)生了傳遞關(guān)系,而函數(shù)運(yùn)算完后把值傳遞給了變量 c,函數(shù)只要不是 void 類型,就都會有返回值,返回值類型就是函數(shù)的類型。

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

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

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

          形參必須要指定數(shù)據(jù)類型,和定義變量一樣,因?yàn)樗緛砭褪蔷植孔兞俊?/p>

          實(shí)參和形參的數(shù)據(jù)類型應(yīng)該相同或者賦值兼容。和變量賦值一樣,當(dāng)形參和實(shí)參出現(xiàn)不同類型時(shí),則按照不同類型數(shù)值的賦值規(guī)則進(jìn)行轉(zhuǎn)換。

          主調(diào)函數(shù)在調(diào)用函數(shù)之前,應(yīng)對被調(diào)函數(shù)做原型聲明。

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



          評論


          技術(shù)專區(qū)

          關(guān)閉