91精品一区二区三区久久久久久_欧美一级特黄大片色_欧美一区二区人人喊爽_精品一区二区三区av

位置:51電子網 » 技術資料 » 初學園地

數組作為函數參數

發布時間:2014/6/8 20:21:00 訪問次數:727

   數組可以作為函數的參數使用,S1076-7402進行數據傳送。數組作為函數參數有兩種形式:一種是把數組元素(下標變量)作為實參使用;另一種是把數組名作為函數的形參和實參使用。

   (1)數組元素作為函數實參

   數組元素就是下標變量,它與普通變量并無區別。因此它作為函數實參使用與普通變量作為函數實參是完全相同的,在發生函數調用時,把作為實參的數組元素中的值傳送給形參,實現單向的傳送。

   (2)數組名作為函數參數

   數組名作為函數參數與數組元素作為函數參數有以下幾點不同:

   ①用數組元素作實參時,只要數組類型和函數形參變量的類型一致,那么作為下標變量的數組元素的類型也和函數形參變量的類型是一致的。因此,并不要求函數的形參也是下標變量。換句話說,對數組元素的處理是按普通變量對待的。用數組名作函數參數時,則要求形參和相對應的實參都必須是類型相同的數組,都必須有明確的數組說明。當形參和實參不一致時,即會發生錯誤。

   ②普通變量或下標變量作為函數參數時,形參變量和實參變量是由編譯系統分配的兩個不同的內存單元。在函數調用時發生的值傳送是把實參變量的值賊予形參變量。在用數組名作函數參數時,不是進行值的傳送,即不是把實參數組的每一個元素的值都賦予形參變量的各個元素。因為實際上形參數組并不存在,編譯系統不為形參數組分配內存。那么,數據的傳送是如何實現的呢?我們已知道數組名就是數組的首地址,因此在數組名作函數

參數時所進行的傳送只是地址的傳送,也就是說實參數組的首地址賦予形參數組名。形參數組名取得該地址之后,也就等于有了實在的數組。實際上是形參數組和實參數組為同一數組,共同擁有一段內存空間。

   ③前面已經介紹過,在變量作為函數參數時,所進行的值傳送是單向的,即只能從實參傳向形參,不能從形參返回實參。形參的初值和實參相同,而形參的值發生改變后,實參并不變化,兩者的最終值通常是不同的。而當用數組名作函數參數時,情況則不同。由于實際上形參和實參為同一數組,因此當形參數組發生變化時,實參數組也隨之發生變化,但是這種情況不能理解為發生了“雙向”的值傳遞。從實際情況來看,調用函數之后實參數組的值將由于形參數組的變化而變化。

   數組可以作為函數的參數使用,S1076-7402進行數據傳送。數組作為函數參數有兩種形式:一種是把數組元素(下標變量)作為實參使用;另一種是把數組名作為函數的形參和實參使用。

   (1)數組元素作為函數實參

   數組元素就是下標變量,它與普通變量并無區別。因此它作為函數實參使用與普通變量作為函數實參是完全相同的,在發生函數調用時,把作為實參的數組元素中的值傳送給形參,實現單向的傳送。

   (2)數組名作為函數參數

   數組名作為函數參數與數組元素作為函數參數有以下幾點不同:

   ①用數組元素作實參時,只要數組類型和函數形參變量的類型一致,那么作為下標變量的數組元素的類型也和函數形參變量的類型是一致的。因此,并不要求函數的形參也是下標變量。換句話說,對數組元素的處理是按普通變量對待的。用數組名作函數參數時,則要求形參和相對應的實參都必須是類型相同的數組,都必須有明確的數組說明。當形參和實參不一致時,即會發生錯誤。

   ②普通變量或下標變量作為函數參數時,形參變量和實參變量是由編譯系統分配的兩個不同的內存單元。在函數調用時發生的值傳送是把實參變量的值賊予形參變量。在用數組名作函數參數時,不是進行值的傳送,即不是把實參數組的每一個元素的值都賦予形參變量的各個元素。因為實際上形參數組并不存在,編譯系統不為形參數組分配內存。那么,數據的傳送是如何實現的呢?我們已知道數組名就是數組的首地址,因此在數組名作函數

參數時所進行的傳送只是地址的傳送,也就是說實參數組的首地址賦予形參數組名。形參數組名取得該地址之后,也就等于有了實在的數組。實際上是形參數組和實參數組為同一數組,共同擁有一段內存空間。

   ③前面已經介紹過,在變量作為函數參數時,所進行的值傳送是單向的,即只能從實參傳向形參,不能從形參返回實參。形參的初值和實參相同,而形參的值發生改變后,實參并不變化,兩者的最終值通常是不同的。而當用數組名作函數參數時,情況則不同。由于實際上形參和實參為同一數組,因此當形參數組發生變化時,實參數組也隨之發生變化,但是這種情況不能理解為發生了“雙向”的值傳遞。從實際情況來看,調用函數之后實參數組的值將由于形參數組的變化而變化。

相關技術資料
6-8數組作為函數參數

熱門點擊

 

推薦技術資料

FU-19推挽功放制作
    FU-19是國產大功率發射雙四極功率電二管,EPL20... [詳細]
版權所有:51dzw.COM
深圳服務熱線:13751165337  13692101218
粵ICP備09112631號-6(miitbeian.gov.cn)
公網安備44030402000607
深圳市碧威特網絡技術有限公司
付款方式


 復制成功!
公主岭市| 白水县| 砚山县| 民县| 青冈县| 鹤岗市| 洛川县| 连云港市| 屏南县| 三江| 望江县| 子洲县| 海城市| 沂源县| 海晏县| 永年县| 克什克腾旗| 项城市| 濮阳县| 博白县| 古丈县| 河池市| 潍坊市| 旌德县| 莱州市| 汪清县| 扶风县| 和平县| 晋江市| 嘉义市| 楚雄市| 宣城市| 开阳县| 长治市| 囊谦县| 定陶县| 嵩明县| 平邑县| 巴青县| 汪清县| 栾川县|