導航:首頁 > 知識科普 > 參數傳遞有哪些方法

參數傳遞有哪些方法

發布時間:2022-08-06 20:52:41

1. 函數調用時參數傳遞有哪幾種方式

一般有值傳遞、指針傳遞、引用傳遞三種方式。

值傳遞是指在調用函數時將實際參數復制一份傳遞到函數中,這樣在函數中如果對參數進行修改,將不會影響到實際參數。
引用傳遞是指在C++中,函數參數的傳遞方式有引用傳遞。所謂引用傳遞是指在調用函數時將實際參數的地址傳遞到函數中,那麼在函數中對參數所進行的修改,將影響到實際參數。

2. 常用的參數傳遞方式有哪三種

常用的參數傳遞方式有__傳地址___,傳值和傳名

3. 什麼是形參和實參參數傳遞的方式有哪些

一、函數中使用:

形參出現在函數定義中,在整個函數體內都可以使用,離開該函數則不能使用。

實參出現在主調函數中,進入被調函數後,實參變數也不能使用。

二、調用

形參變數只有在被調用時才分配內存單元,在調用結束時,即刻釋放所分配的內存單元。因此,形參只在函數內部有效。函數調用結束返回主調用函數後則不能再使用該形參變數。

實參可以是常量、變數、表達式、函數等,無論實參是何種類型的量,在進行函數調用時,它們都必須有確定的值,以便把這些值傳送給形參。因此應預先用賦值,輸入等辦法使參數獲得確定值。

三、不是指針類型在內存中位置不同:

當形參和實參不是指針類型時,在該函數運行時,形參和實參是不同的變數,他們在內存中位於不同的位置,形參將實參的內容復制一份,在該函數運行結束的時候形參被釋放,而實參內容不會改變。

舉例:

1. 比如你定義一個函數void add(int a, int b),這里的a和b就是形參。

2. 當你進行函數調用的時候,add(1, 2),這里的1和2就是實參。

(3)參數傳遞有哪些方法擴展閱讀

形參的作用是實現主調函數與被調函數之間的聯系,通常將函數所處理的數據,影響函數功能的因素或者函數處理的結果作為形參。

沒有形參的函數在形參表的位置應該寫void.main 函數也可以有形參和返回值,其形參也稱為命令行參數,由操作系統在啟動程序時初始化,其返回值傳遞給操作系統。

兩者關系:

在一般傳值調用的機制中只能把實參傳送給形參,而不能把形參的值反向地傳送給實參。因此在函數調用過程中,形參值發生改變,而實參中的值不會變化。而在引用調用的機制當中是將實參引用的地址傳遞給了形參,所以任何發生在形參上的改變實際上也發生在實參變數上。

4. 參數傳遞的幾種方式 編譯原理

由於web系統採用http協議在瀏覽器和伺服器之間傳輸數據,而http協議是一種無狀態的協議,如何在不同頁面之間傳遞數據,可以有一下幾種方式
方式一:表單方式傳遞
表單傳遞參數是一種最簡單,也是最基本的參數傳遞方式。注意:表單元素隱藏按鈕的使用
方式二:帶參數的url方式傳遞
帶參數的url寫法: url?參數名1=值1&參數名2=值2。
方式三:請求request對象
可以將數據綁定到request對象上,通過request對象getAttribute和setAttribute方法讀寫
方式四:用戶會話session對象
可以將數據綁定到session對象上,通過session對象getAttribute和setAttribute方法讀寫
方式五:application對象
可以將數據綁定到application對象上,通過application對象getAttibute方法和setAttribute方法讀寫
方式六:cookie對象
可以將數據寫到到客戶端瀏覽器cookie文件中。

其中方式一,方式二隻能實現字元串參數的傳遞,方式三,四,五,六可以實現對象的傳遞(方式六需要對象序列化後進行存儲)
方式一,方式二,方式三數據傳遞只能請求頁面獲取數據,而方式四,五,六可以在多個不同頁面獲取數據對象
方式四和六保存的數據對象都是和某個用戶相關的信息,不同的是方式四將數據保存到伺服器內存中,方式六將數據保存到客戶端內存中。
方式五保存的數據對象都是和所有用戶相關的信息,數據也是保存到伺服器內存中。

5. 參數傳遞的主要方式和特點

你指的是c++嗎?函數傳值有三種方式:按值傳遞(pass-by-value),按地址傳遞(pass-by-address)和按引用傳遞(pass-by-reference)。不同的是,按值傳遞方式中,函數部分不能改變主函數中實參的值。而按地址傳遞和按引用傳遞均可以改變主函數中實參的值。按值傳遞,實參和形參均為同一類型的對象。例如:void f(int b){...}int main(){int a;...f(a);}按地址傳遞,實參為變數的地址,而形參為同類型的指針。void f(int* b){...}

6. 方法的參數傳遞有哪些方式區別時什麼

有兩種方式:值類型和引用類型在把數據賦給值類型和引用類型的時候,兩者表現完全不同:

● 在把數據賦給一個值類型時,數據存儲在堆棧上的變數中。

● 在把數據賦給一個引用類型時,變數中只存儲一個引用,數據則存儲在託管堆上。

理解堆棧和堆之間的區別是非常重要的。堆棧是一個比較小的內存區域,進程和線程在其中存儲大小固定的數據塊。例如,無論數據的實際值是多少,存儲整數和小數類型所需要的位元組數都不會變化。因此這種變數在堆棧中的位置可以高效地確定(當一個過程需要提取某個變數時,就必須搜索堆棧。如果堆棧包含的變數具有動態的內存大小,這種搜索就需要較長的時間)。

引用類型沒有固定的大小。例如,字元串的大小可以在2位元組到接近系統中所有的可用內存之間變化。引用類型大小的不確定性意味著,它們包含的數據更適合存儲在堆上,而不是堆棧上,但是,引用類型的地址(即數據在堆上的位置)有固定的大小,所以可以存儲在堆棧上。把引用存儲在堆棧上,整個程序的運行速度會快得多,因為進程可以快速定位與變數中的數據。

固定大小的變數和大小動態變化的變數分別存儲在堆棧和堆上,會使對這兩種變數的操作方式產生差異。下面通過比較System.Drawing.Point結構(一種值類型)和System.Text. StringBuilder類(一種引用類型)來說明這一點。

Point結構是.NET圖形庫的一部分,而該圖形庫是System.Drawing命名空間的一部分。StringBuilder類是System.Text命名空間的一部分,用於高效地編輯字元串。命名空間將在第8章論述。

下面先看看如何使用System.Drawing.Point結構:

Dim ptX As New System.Drawing.Point(10, 20)

Dim ptY As New System.Drawing.Point

ptY = ptX

ptX.X = 200

Console.WriteLine(ptY.ToString())

這個運算的輸出是{X=10, Y=20},這看起來是符合邏輯的。代碼在將ptX復制到ptY後,包含在ptX中的數據就復制到堆棧上與ptY相關的位置上。當改變ptX的值時,只有堆棧上與ptX相關的內存被更新,改變ptX的值不會影響ptY。但引用類型不是這樣。考慮下面的代碼,它使用了System.Text.StringBuilder類:

Dim objX As New System.Text.StringBuilder("Hello World")

Dim objY As System.Text.StringBuilder

objY = objX

objX.Replace("World", "Test")

Console.WriteLine(objY.ToString())

這段代碼的運行結果是Hello Test,而不是Hello World。從上面使用Point示例可以看出,在把一個值類型賦給另一個值類型時,會復制存儲在堆棧上的數據。因此,在前一個例子中,將objY賦給objX時,堆棧上與objX相關的數據會復制到堆棧上與objY相關的數據上。但是,在本例中,復制的不是實際的數據,而是存儲在託管堆上的數據的地址,即objX和objY現在引用的是相同的數據。當堆上的數據發生變化時,如果某個變數保存了對該內存的引用,則與該變數相關的數據就會發生變化。這就是引用類型的默認操作方式,稱為淺度復制(shallow )。

7. 參數傳遞訊息的方法有那三種

(1)
暫存器
參數:一個暫存器只可傳遞一個參數;(2)地址參數:如果參數量很大,可將參數儲存在
記憶體
地址,作業系統再依地址讀取參數;(3)堆疊參數:程序將參數推入堆疊,作業系統再由堆疊將參數彈出使用。

8. 參數傳遞的方式

樓主說的是C++么?
參數傳遞有三種:
傳值(value),傳址(address),和傳引用(reference)

傳值時子函數(被調用者)復制父函數(調用者)傳遞的值,這樣子函數無法改變父函數變數的值

傳址時父函數將變數的地址傳遞給子函數,這樣子函數可以能過改寫地址里的內容改變父函數中的變數

傳引用則是一種看起來像傳值調用,而實際上功能同傳址一樣的傳遞方式。子函數可以改寫父函數的變數值。

9. 什麼是函數的參數傳遞呢它有幾種呢

函數的參數傳遞:當進行函數調用的時候,要填入與函數形式參數個數相同的實際參數,在程序運行的過程中,實參會將參數值傳遞給形參,這就是函數的參數傳遞。
函數參數傳遞有以下三種:

一. 值傳遞
1. 用值傳遞方式,實際上是把實參的內容復制到形參中,實參和形參是存放在兩個不同的內存空間中。在函數體內對形參的一切修改對實參都沒有影響;
2. 如果形參是類的對象,利用值傳遞的話每次都要調用類的構造函數構造對象,效率比較低。
二. 指針傳遞(地址傳遞)
1. 當進行指針傳遞的時候,形參是指針變數,實參是一個變數的地址或者是指針變數,調用函數的時候,形參指向實參的地址;
2. 指針傳遞中,函數體內可以通過形參指針改變實參地址空間的內容。
三. 傳遞引用
1.引用實際上是某一個變數的別名,和這個變數具有相同的內存空間;
2. 實參把變數傳遞給形參引用,相當於形參是實參變數的別名,對形參的修改都是直接修改實參;
3. 在類的成員函數中經常用到類的引用對象作為形參,大大的提高代碼的效率。

閱讀全文

與參數傳遞有哪些方法相關的資料

熱點內容
摩擦傷如何處理方法 瀏覽:560
孩子發燒用什麼方法降溫 瀏覽:25
ve抹臉的正確方法 瀏覽:821
第三代試劑有哪些檢測方法 瀏覽:888
老年人淤青有什麼好方法 瀏覽:312
消防應急照明設備使用方法 瀏覽:354
舊衣服改鞋墊用什麼方法 瀏覽:639
嘉興面癱的治療方法有哪些 瀏覽:783
家族如何建立激勵孩子上進的方法 瀏覽:859
tonymoly面膜使用方法 瀏覽:439
工程工作年限計算方法 瀏覽:928
快速提高臂力的訓練方法單杠 瀏覽:558
鍛煉膝蓋疼痛的好方法 瀏覽:736
茄子施肥茄子是如何打杈的方法 瀏覽:938
農村娶媳婦難解決方法 瀏覽:538
可支付月數計算方法 瀏覽:257
絕緣電阻測量有哪些測試方法 瀏覽:591
亞布力的訓練方法 瀏覽:140
排肝膽毒最有效有什麼方法 瀏覽:423
如何快速了解足球的方法 瀏覽:48