為什麼說向函式傳遞引用實現了形參和實參的資料雙向傳遞

2021-04-21 01:33:41 字數 2018 閱讀 2694

1樓:匿名使用者

引用傳遞就是將實參地址傳遞給函式,函式接收到地址後並不另外在棧上分配臨時記憶體空間版儲存該地址,而是直權接當做實參本身使用,如果實參含有有效資料,則函式可以通過引用直接取出(讀),也可以對其賦值(寫)。如果將實參傳遞給函式稱為正傳遞,那麼函式返回資料就是逆傳遞。

由於函式返回值是通過退棧方式傳遞,而且編譯器約定,一次返回只能為一個資料(值或者是物件/陣列地址)。很多時候我們會遇到需要一個函式返回多個資料,一種方案是在堆上建一個結構,採用結構返回多個資料,還可以採用引用傳遞,函式除了通過return返回一個資料外,我們可以在函式引數中定義多個引用形參,外部**呼叫時將外部多個變數(實參)的地址按引用形式傳遞給函式(正傳遞),將資料傳遞給函式,函式處理完了後將結果賦值給被引用的變數而改寫實參(逆傳遞)。

c語言判斷題:在標準c語言中,函式引數傳遞是單向傳遞,即由實參傳遞給形參.

2樓:山水阿銳

值傳遞。

實參與形引數據傳遞有兩種方式:值傳遞與地址傳遞。版

地址傳遞的形式為 int &a=b;

也就是我權們所說的引用,但引用只有c++中有,所以c語言都是值傳遞的。

有些人有誤解:認為c語言的int *p=&a;不也是按地址傳遞嗎?其實不是這樣的。

深入理解值傳遞與地址傳遞就會發現:

值傳遞是:把實參的值傳給一個變數(形參)。所以int *p=&a也是把a的地址值傳給了指標變數p

地址傳遞是:直接把地址傳進來,沒有賦給任何變數,這樣在函式體內對形參的操作也就是對實參地操作。有這種功能的也就是引用(&)了。

3樓:匿名使用者

函式傳遞的是實參的複製

c語言指標傳參,目的是通過子函式交換實參地址,實現形參和實參的雙向傳遞。但不能通過編譯,求解。

4樓:yx陳子昂

看起來對函式呼叫和指標的概念有誤解,形參和實參永遠不能互相修改,回因為在棧的不同位置答儲存。我們提出的雙向傳遞是,通過把原來的當做實參變數的地址當做實參傳入函式,在函式內部通過修改指標形參指向的地址來把值傳遞出函式;作為變數地址的實參依然不可能在函式內部被修改。

5樓:陽光的雷咩咩

&a=&b; 這句你想表達什麼

6樓:匿名使用者

你少了一個return語句,所以編譯通不過

函式呼叫時的實參和形參之間的資料是單向的什麼傳遞

7樓:匿名使用者

實參傳遞給形參是單向傳遞,形參變數在未出現函式呼叫時,並不佔用記憶體,只在呼叫時才佔用。呼叫結束後,將釋放記憶體。執行一個被呼叫函式時,形參的值如果發生改變,並不會改變主調函式中的實參的值。

單向傳遞,只能由實參傳給形參,反之不能。

形參如同公式中的符號,實參就是符號具體的值,在呼叫過程前必須得到賦值;呼叫過程就是實現形參與實參的結合,把實參的值通過呼叫傳遞給形參,相當於把值代入公式進行計算。

8樓:哈巴

在c++中,引數傳遞的方式是「實虛結合」。

按值傳遞(pass by value)

地址傳遞(pass by pointer)引用傳遞(pass by reference)按值傳遞的過程為:首先計算出實參表示式的值,接著給對應的形參變數分配一個儲存空間,該空間的大小等於該形參型別的,然後把以求出的實參表示式的值一一存入到形參變數分配的儲存空間中,成為形參變數的初值,供被呼叫函式執行時使用。這種傳遞是把實參表示式的值傳送給對應的形參變數,故稱這種傳遞方式為「按值傳遞」。

9樓:

呼叫的時候 實參是不傳遞的

void 函式名(實參)

這個過程中 實參的值是不改變的。

void 函式名(形參)

也就是說是 指標的指的資料是有可能改變的。

函式呼叫的時候,僅僅是吧實參和形參的值傳遞進去

10樓:

函式呼叫時的實參和形參之間的資料是單向的是( 值傳遞方式 )

為什麼有振盪環節的開環傳遞函式的幅相特性曲線在n處相角突變

呵呵,不知道你看的是哪本書,用相關函式來做什麼。這個問題很寬泛啊。互相關函式體現兩個訊號的接近程度 自相關函式一個訊號在不同時刻的相似程度。比如說白噪聲的任意時刻都互不相關,所以它的自相關函式是衝擊訊號。計算公式書上有。計算過程和卷積相似,很好玩o o 自相關函式的傅立葉變換是功率譜密度或者能譜密度...

為什麼說分段函式是函式而不是幾個函式

因為在定義域內每一個x都有唯一的一個y值與其對應,符合函式的條件 不懂再問,希望採納 函式分定義域連續與不連續兩種,分段函式是定義域不連續的函式。它符合一個函式的所有定義,但它不是一個初等函式。滿足成為函式的特性 函式表示每個輸入值對應唯一輸出值的一種對應關係。若先定義對映的概念,可以簡單定義函式為...

自動控制原理中閉環傳遞函式的R s 為什麼用拉氏變換,而C

c s 也是要用拉氏變換的。傳遞函式的定義就是 線性定常系統的傳遞函式為在零初始條件下,系統的輸出變數拉氏變換與輸入變數拉氏變換之比。c s r s 就是系統的傳遞函式 請問自動控制原理中c s r s 是開環傳遞函式還是閉環傳遞函式?在沒有反饋環的時候,一般寫成g s c s r s 一般這種東西...