欧美大屁股bbbbxxxx,狼人大香伊蕉国产www亚洲,男ji大巴进入女人的视频小说,男人把ji大巴放进女人免费视频,免费情侣作爱视频

歡迎來到入門教程網(wǎng)!

C語言

當(dāng)前位置:主頁 > 軟件編程 > C語言 >

C/C++函數(shù)參數(shù)傳遞機(jī)制詳解及實(shí)例

來源:本站原創(chuàng)|時(shí)間:2020-01-10|欄目:C語言|點(diǎn)擊: 次

C/C++函數(shù)參數(shù)傳遞機(jī)制詳解及實(shí)例

概要:

C/C++的基本參數(shù)傳遞機(jī)制有兩種:值傳遞和引用傳遞,我們分別來看一下這兩種的區(qū)別。

(1)值傳遞過程中,需在堆棧中開辟內(nèi)存空間以存放由主調(diào)函數(shù)放進(jìn)來的實(shí)參的值,從而成為了實(shí)參的一個(gè)副本。值傳遞的特點(diǎn)是被調(diào)函數(shù)對(duì)形參的任何操作都是作為局部變量進(jìn)行,不會(huì)影響主調(diào)函數(shù)的實(shí)參變量的值。

(2)引用傳遞過程中,被調(diào)函數(shù)的形參雖然也作為局部變量在堆棧中開辟了內(nèi)存空間,但是這時(shí)存放的是由主調(diào)函數(shù)放進(jìn)來的實(shí)參變量的地址。被調(diào)函數(shù)對(duì)形參的任何操作都被處理成間接尋址,即通過堆棧中存放的地址訪問主調(diào)函數(shù)中的實(shí)參變量。正因?yàn)槿绱?,被調(diào)函數(shù)對(duì)形參做的任何操作都影響了主調(diào)函數(shù)中的實(shí)參變量。

下面我們來看一個(gè)示例。

/*
*測試函數(shù)參數(shù)傳遞機(jī)制
*/
class CRect {

public:
  int height;
  int widht;

  CRect() {
    height = 0;
    widht = 0;
  }

  CRect(int height, int widht) {
    this->height = height;
    this->widht = widht;
  }

};

//(1)傳址調(diào)用(傳指針)
int RectAreaPoint(CRect *rect) {
  int result = rect->height * rect->widht;
  rect->height = 20;
  return result;
}

//(2)引用傳遞
int RectAreaRefer(CRect &rect) {
  int result = rect.height * rect.widht;
  rect.height = 30;
  return result;

}

//(3)傳值調(diào)用
int RectArea(CRect rect) {
  int result = rect.height * rect.widht;
  rect.height = 40;
  return result;
}

看一下我們的測試代碼和測試結(jié)果。

//測試代碼邏輯
void testPoint() {
  CRect rect(10, 10);
  cout << "面積:" << RectAreaPoint(&rect) << endl;
  cout << "面積:" << RectAreaRefer(rect) << endl;
  cout << "rect.height:" << rect.height << endl;
  cout << "面積:" << RectArea(rect) << endl;
  cout << "rect.height:" << rect.height << endl;
}

//測試結(jié)果
面積:100
面積:200
rect.height:30
面積:300
rect.height:30

可以發(fā)現(xiàn)傳址調(diào)用和引用傳遞兩種方式,當(dāng)改變形參的值時(shí),同時(shí)也會(huì)將實(shí)參的值改變,而傳值調(diào)用改變形參則對(duì)實(shí)參沒有任何影響。

感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!

上一篇:C++ 靜態(tài)成員的類內(nèi)初始化詳解及實(shí)例代碼

欄    目:C語言

下一篇:C/C++中宏定義(#define)

本文標(biāo)題:C/C++函數(shù)參數(shù)傳遞機(jī)制詳解及實(shí)例

本文地址:http://mengdiqiu.com.cn/a1/Cyuyan/1744.html

網(wǎng)頁制作CMS教程網(wǎng)絡(luò)編程軟件編程腳本語言數(shù)據(jù)庫服務(wù)器

如果侵犯了您的權(quán)利,請(qǐng)與我們聯(lián)系,我們將在24小時(shí)內(nèi)進(jìn)行處理、任何非本站因素導(dǎo)致的法律后果,本站均不負(fù)任何責(zé)任。

聯(lián)系QQ:835971066 | 郵箱:835971066#qq.com(#換成@)

Copyright © 2002-2020 腳本教程網(wǎng) 版權(quán)所有