函式架構

 

 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;
}

 

image

 

image

 

 執行函式時會先初始化參數,但是初始化的順序要依照編譯器的寫法。

 

例:

 

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...都是傳值。

 

 

簡單講,傳值不會更改到原來的值,而傳址會。

 

 

arrow
arrow
    創作者介紹
    創作者 讀書小天地 的頭像
    讀書小天地

    書籍分享天地

    讀書小天地 發表在 痞客邦 留言(0) 人氣()