以**為例,自定義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
//對實參的數值,交換成功
引用(&),&a,不是「a的位址」,而是指「a是乙個整形變數的引用(別名)」由於是形參,所以不必對它進行初始化(未指定它是哪個變數的別名)#include
using
namespace std;
void
swap
(int
&p,int
&q)int
main()
//輸出結果:a=2 b=1
//對實參的數值,交換成功
傳值方式: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...