數(shù)組作為函數(shù)參數(shù)
發(fā)布時間:2014/6/8 20:21:00 訪問次數(shù):735
數(shù)組可以作為函數(shù)的參數(shù)使用,S1076-7402進(jìn)行數(shù)據(jù)傳送。數(shù)組作為函數(shù)參數(shù)有兩種形式:一種是把數(shù)組元素(下標(biāo)變量)作為實參使用;另一種是把數(shù)組名作為函數(shù)的形參和實參使用。
(1)數(shù)組元素作為函數(shù)實參
數(shù)組元素就是下標(biāo)變量,它與普通變量并無區(qū)別。因此它作為函數(shù)實參使用與普通變量作為函數(shù)實參是完全相同的,在發(fā)生函數(shù)調(diào)用時,把作為實參的數(shù)組元素中的值傳送給形參,實現(xiàn)單向的傳送。
(2)數(shù)組名作為函數(shù)參數(shù)
數(shù)組名作為函數(shù)參數(shù)與數(shù)組元素作為函數(shù)參數(shù)有以下幾點不同:
①用數(shù)組元素作實參時,只要數(shù)組類型和函數(shù)形參變量的類型一致,那么作為下標(biāo)變量的數(shù)組元素的類型也和函數(shù)形參變量的類型是一致的。因此,并不要求函數(shù)的形參也是下標(biāo)變量。換句話說,對數(shù)組元素的處理是按普通變量對待的。用數(shù)組名作函數(shù)參數(shù)時,則要求形參和相對應(yīng)的實參都必須是類型相同的數(shù)組,都必須有明確的數(shù)組說明。當(dāng)形參和實參不一致時,即會發(fā)生錯誤。
②普通變量或下標(biāo)變量作為函數(shù)參數(shù)時,形參變量和實參變量是由編譯系統(tǒng)分配的兩個不同的內(nèi)存單元。在函數(shù)調(diào)用時發(fā)生的值傳送是把實參變量的值賊予形參變量。在用數(shù)組名作函數(shù)參數(shù)時,不是進(jìn)行值的傳送,即不是把實參數(shù)組的每一個元素的值都賦予形參變量的各個元素。因為實際上形參數(shù)組并不存在,編譯系統(tǒng)不為形參數(shù)組分配內(nèi)存。那么,數(shù)據(jù)的傳送是如何實現(xiàn)的呢?我們已知道數(shù)組名就是數(shù)組的首地址,因此在數(shù)組名作函數(shù)
參數(shù)時所進(jìn)行的傳送只是地址的傳送,也就是說實參數(shù)組的首地址賦予形參數(shù)組名。形參數(shù)組名取得該地址之后,也就等于有了實在的數(shù)組。實際上是形參數(shù)組和實參數(shù)組為同一數(shù)組,共同擁有一段內(nèi)存空間。
③前面已經(jīng)介紹過,在變量作為函數(shù)參數(shù)時,所進(jìn)行的值傳送是單向的,即只能從實參傳向形參,不能從形參返回實參。形參的初值和實參相同,而形參的值發(fā)生改變后,實參并不變化,兩者的最終值通常是不同的。而當(dāng)用數(shù)組名作函數(shù)參數(shù)時,情況則不同。由于實際上形參和實參為同一數(shù)組,因此當(dāng)形參數(shù)組發(fā)生變化時,實參數(shù)組也隨之發(fā)生變化,但是這種情況不能理解為發(fā)生了“雙向”的值傳遞。從實際情況來看,調(diào)用函數(shù)之后實參數(shù)組的值將由于形參數(shù)組的變化而變化。
數(shù)組可以作為函數(shù)的參數(shù)使用,S1076-7402進(jìn)行數(shù)據(jù)傳送。數(shù)組作為函數(shù)參數(shù)有兩種形式:一種是把數(shù)組元素(下標(biāo)變量)作為實參使用;另一種是把數(shù)組名作為函數(shù)的形參和實參使用。
(1)數(shù)組元素作為函數(shù)實參
數(shù)組元素就是下標(biāo)變量,它與普通變量并無區(qū)別。因此它作為函數(shù)實參使用與普通變量作為函數(shù)實參是完全相同的,在發(fā)生函數(shù)調(diào)用時,把作為實參的數(shù)組元素中的值傳送給形參,實現(xiàn)單向的傳送。
(2)數(shù)組名作為函數(shù)參數(shù)
數(shù)組名作為函數(shù)參數(shù)與數(shù)組元素作為函數(shù)參數(shù)有以下幾點不同:
①用數(shù)組元素作實參時,只要數(shù)組類型和函數(shù)形參變量的類型一致,那么作為下標(biāo)變量的數(shù)組元素的類型也和函數(shù)形參變量的類型是一致的。因此,并不要求函數(shù)的形參也是下標(biāo)變量。換句話說,對數(shù)組元素的處理是按普通變量對待的。用數(shù)組名作函數(shù)參數(shù)時,則要求形參和相對應(yīng)的實參都必須是類型相同的數(shù)組,都必須有明確的數(shù)組說明。當(dāng)形參和實參不一致時,即會發(fā)生錯誤。
②普通變量或下標(biāo)變量作為函數(shù)參數(shù)時,形參變量和實參變量是由編譯系統(tǒng)分配的兩個不同的內(nèi)存單元。在函數(shù)調(diào)用時發(fā)生的值傳送是把實參變量的值賊予形參變量。在用數(shù)組名作函數(shù)參數(shù)時,不是進(jìn)行值的傳送,即不是把實參數(shù)組的每一個元素的值都賦予形參變量的各個元素。因為實際上形參數(shù)組并不存在,編譯系統(tǒng)不為形參數(shù)組分配內(nèi)存。那么,數(shù)據(jù)的傳送是如何實現(xiàn)的呢?我們已知道數(shù)組名就是數(shù)組的首地址,因此在數(shù)組名作函數(shù)
參數(shù)時所進(jìn)行的傳送只是地址的傳送,也就是說實參數(shù)組的首地址賦予形參數(shù)組名。形參數(shù)組名取得該地址之后,也就等于有了實在的數(shù)組。實際上是形參數(shù)組和實參數(shù)組為同一數(shù)組,共同擁有一段內(nèi)存空間。
③前面已經(jīng)介紹過,在變量作為函數(shù)參數(shù)時,所進(jìn)行的值傳送是單向的,即只能從實參傳向形參,不能從形參返回實參。形參的初值和實參相同,而形參的值發(fā)生改變后,實參并不變化,兩者的最終值通常是不同的。而當(dāng)用數(shù)組名作函數(shù)參數(shù)時,情況則不同。由于實際上形參和實參為同一數(shù)組,因此當(dāng)形參數(shù)組發(fā)生變化時,實參數(shù)組也隨之發(fā)生變化,但是這種情況不能理解為發(fā)生了“雙向”的值傳遞。從實際情況來看,調(diào)用函數(shù)之后實參數(shù)組的值將由于形參數(shù)組的變化而變化。
熱門點擊
- 6264芯片的地址范圍
- 工藝流程的設(shè)計原則
- BCD碼
- 焊接溫度和焊接時間
- 波峰焊通用工藝
- 采用專用工具馬蹄形烙鐵頭焊接
- 改變表面張力與黏度的措施
- PQFP (Plastic Quad Fl
- 對濕度敏感器件(MSD)昀管理和控制措施
- COB技術(shù)
推薦技術(shù)資料
- FU-19推挽功放制作
- FU-19是國產(chǎn)大功率發(fā)射雙四極功率電二管,EPL20... [詳細(xì)]
- CV/CC InnoSwitch3-AQ 開
- URF1DxxM-60WR3系
- 1-6W URA24xxN-x
- 閉環(huán)磁通門信號調(diào)節(jié)芯片NSDRV401
- SK-RiSC-SOM-H27X-V1.1應(yīng)
- RISC技術(shù)8位微控制器參數(shù)設(shè)
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機(jī)遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究