C語言規定,呼叫函式時,實參變數和形參變數之間的資料傳遞方式是什麼

2021-05-04 18:27:57 字數 801 閱讀 4852

1樓:四舍**入

函式只有兩種傳遞方式:

1、值傳遞,又稱單向傳遞,只能把實引數值傳給形參 ,形參最後的結果不影響實參(形參改變大小 ,實參大小不變)。

2、址傳遞,通過指標,把實參的地址給形參,形參的大小可以影響實參。

2樓:匿名使用者

看到很多都說是值傳遞,本人認為只能由使用者指定傳遞方式。

在c語言中,軌道引數傳遞方式有兩種(其實還有引用傳遞):值傳遞和地址傳遞,也就是說可以值傳遞,也可以地址傳遞。至於到底採取什麼傳遞方式應該得有使用者根據形參型別來指定了。

比如 函式 int f( int *p) 此處接收的只能是地址型別

在主函式中定義變數 a =3; 此時實參a的值為3,很明顯 如果這種採用值傳遞方式呼叫 f(a)肯定不合適,

正確的應該是地址傳遞方式呼叫 f(&a) ,也許有些會說,地址也是值。但c明確的規定,實參的值和實參的地址是有本質區別的

故本人認為 傳遞方式只能由使用者根據 形參來指定傳遞方式。

3樓:

函式只有兩種傳遞方式 一個是值傳遞 一個是址傳遞 址傳遞 是指傳的是地址 也就是說 是以陣列過指標作為引數傳遞 而值傳遞傳的是 數 可以是整形的 也可以是實行的

4樓:匿名使用者

資料傳遞是「值傳遞」,即單向傳遞,只由實參傳遞給形參,而不能由形參傳回來給實參。

5樓:匿名使用者

實參向形參的資料傳遞是「值傳遞」,單向傳遞,只由實參傳給形參,而不能由形參傳回給實參

C語言中陣列名作為實參傳給被呼叫的函式時,形參獲得的是什麼

在函式中,之所以陣列的值能夠被修改,就是因為形參得到的是陣列的地址,而不是資料,所以,行參獲得的應該是陣列的地址 把陣列作為引數傳遞給函式的時候,並非把整個陣列的內容傳遞進去,此時陣列退化為一個同型別的指標,這個指標的值就是陣列首元素的地址值。c語言中陣列來名作為實參傳給自 被呼叫的函bai數時,形...

c語言函式呼叫例子,c語言中函式呼叫有三種方法,能幫忙各舉個例子嗎

include int main void printstar void print message 比如,你有bai一個函式du 整數划來分問題自,有點難理解 include main int q int n,int m c語言中呼叫函式的方 復法及步驟 1 首先制需要輸入想要呼叫的函式。2 然後...

C語言函式的遞迴呼叫

先呼叫函式f,然後把返回值賦值給z。不過這個函式不對,沒有退出條件,無法停止。舉例說明吧 int f int x else 假如f 3 那麼第一次f 3 x!0,呼叫f 2 第二次f 2 x!0,呼叫f 1 第三次f 1 x!0,呼叫f 0 第四次f 1 x 0,返回1 返回第三次呼叫f 1 返回1...