函式返回值和形參

2021-07-23 16:44:43 字數 786 閱讀 2601

函式包括了除函式名以外還有返回值和形參。

這個形參包括了傳入引數和傳出引數;

傳入引數:就是數值的傳遞。在函式中不會修改這個引數,不會修改呼叫這個函式的函式的值。

例如void exchange(int a,int b)

int main ()

輸出的結果是

a = 4;

b = 5;

這是傳參,僅僅是乙個數值的傳遞。

在呼叫exchange函式的時候,空間也分配了另乙個a,b變數名的空間,在exchange在呼叫完的時候,空間釋放。

exchange函式裡面的a,b和主函式裡面的啊a,b的空間是不一樣的。僅僅是名字一樣而已。

例子:這個村子你叫張三,隔壁的村子也有乙個叫張三。有一天隔壁的張三家裡面有喜事,而不是你家有喜事。

根本就是兩碼事。

傳出引數,一般傳遞的是位址。

例如上面這個例子,怎麼講a,b在exchange裡面改變呢。

void exchange(int *a,int *b)

這時候傳遞的變數的位址。在函式呼叫的時候也是建立顯得空間,只不過這片空間記載的是實參的位址。

正真在執行的時候通過位址找到實參的空間,將裡面的數值改變。

還是上面張三為例。有喜事那家發出請柬,標明哪個村的張三家。那麼去赴宴的人,按照家的位址去赴宴。

在需要改變指標變數的時候,需要傳入的是指標的指標,也就是指標變數那片空間的位址。

乙個函式如何返回多個值:

1.就是利用傳出引數,來記載返回值。

2.返回乙個陣列。

3.返回乙個結構體

通過形參獲得函式返回值的問題

我們經常會用到將乙個引數在函式外部初始化,然後傳入函式,函式給引數賦值後,我們在函式外部使用這個值,最開始學習c 的時候我們就知道這需要將引數以引用的方式傳入,卻沒有更深層次的考慮這個方法的原因,為什麼傳指標就不行呢?其實這個問題更深層次的原因是形參也是乙個變數,我們在將乙個初始化好的引數傳入函式時...

函式的引數 形參實參 及返回值

函式的引數有形參和實參 形參就是函式宣告時需要接受的引數,可以理解成暫時的佔位符,並無實際意義。實參就是呼叫函式時傳遞進函式的具體的實際資料,也就是給佔替代位符的的值。函式體內部的return語句 表示將資料返回給呼叫者。return後面即使有語句,也不會執行,也就是return後面不執行.retu...

C 中const修飾函式形參,函式,函式返回值

在程式設計中我們會經常呼叫函式,呼叫函式就會涉及引數的問題,那麼在形參列表中const形參與非const形參對傳遞過來的實參有什麼要求呢?先來看乙個簡單的例子 cpp view plain copy include include using namespace std void print str...