close
函式架構
1 2 3 4 5 6 7 8 9 10 11 12 |
int fac(int num) { return num; } int main() { std::cout<<fac(5); return 0; } |
執行函式時會先初始化參數,但是初始化的順序要依照編譯器的寫法。
例:
int fac( int a, int b, int c) 初始化順序有可能是
a->b->c
b->c->a
c->a->b
函式參數
1.函式參數名不能跟函式名稱一樣。
2.每個參數前都要有形態。
3.也可以沒有參數,就直接空者或者是寫入void代表空。
void fac(int a, int b, int c) √
void fac(int a, b, c) ×
void fac() √
void fac(void) √
函式回傳值
1 2 3 4 5 6 7 8 9 10 11 12 |
void two(int num) { } int two(int num) { return num; } |
1. void — 沒有回傳值,void就是空的意思,不用在最後加上return。
fac(5); √
std::cout<<fac(5); ×
int a = fac(5); ×
2.int、float... — 有回傳值,要在最後加上 return。
fac(5); √
std::cout<<fac(5); √
int a = fac(5); √
傳值、傳址
就好像你玩遊戲要買時裝時可以試穿,但是案下取消後跟原來是沒有差別的,只有案下購買你才會有改變。
方法就好像試衣間,取消就是傳值,購買就是傳址。
指標、陣列、字串都是傳址。
int double float...都是傳值。
簡單講,傳值不會更改到原來的值,而傳址會。
文章標籤
全站熱搜