函式形參三種形式及其比較(C )

2021-10-03 06:58:15 字數 1159 閱讀 5501

以**為例,自定義swap函式,說明三種形式,對實參的交換結果

#include

using

namespace std;

void

swap

(int p,

int q)

intmain()

//輸出結果:a=1 b=2

//並沒有對實參,產生交換

#include

using

namespace std;

void

swap

(int

* p,

int* q)

intmain()

//輸出結果:*p=1 *q=2

//並沒有對實參,產生交換,因為

//呼叫函式,不會改變實參指標變數的值(就是不會改變實參指標指向的位址),

//但是可以改變實參指標變數所指向變數的值(指向位址不變,可以改變裡面的值)

#include

using

namespace std;

void

swap

(int

* p,

int* q)

intmain()

//輸出結果:*p=2 *q=1

//對實參的數值,交換成功

#include

using

namespace std;

void

swap

(int

&p,int

&q)int

main()

//輸出結果:a=2 b=1

//對實參的數值,交換成功

引用(&),&a,不是「a的位址」,而是指「a是乙個整形變數的引用(別名)」由於是形參,所以不必對它進行初始化(未指定它是哪個變數的別名)

傳值方式void swap(int a,int b);void swap(int * p,int * q);(實參是位址,傳遞的也是位址,故仍然是傳值方式)

傳址方式void swap(int &p,int &q);

javascript三種函式形式

1.普通函式 function show message show test 定義 同python中函式定義方法一致,關鍵字替換為function 執行 呼叫方法和一般語言中呼叫方法一致,可有返回值 2.匿名函式 setinterval function 1000 a function messag...

sqrt函式有三種形式

sqrt函式有三種形式 double sqrt double x float sqrtf float x long double sqrtl long double x 三種形式的區別只是引數和返回值的精度不同,float精度最低,double較高,long double精度最高。一般來說,只要用s...

定義函式的三種形式

定義函式時引數是函式體接收外部傳值的一種媒介,其實就是乙個變數名 在函式階段括號內沒有引數,稱為無參函式。需要注意的是 定義時無參,意味著呼叫時也無需傳入引數。如果函式體 邏輯不需要依賴外部傳入的值,必須得定義成無參函式。def func print hello nick func hello ni...