C++ 參數(shù)與參數(shù)值

2023-03-20 15:49 更新

我們用過的一些內(nèi)置函數(shù)攜帶參數(shù),即你提供給函數(shù)讓它工作的一些值。比如,如果你想計(jì)算一個(gè)數(shù)的正弦值,你需要指定這個(gè)數(shù)是多少。因此sin函數(shù)使用一個(gè)double值作為參數(shù)。

一些函數(shù)攜帶一個(gè)以上的參數(shù),如pow攜帶兩個(gè)double參數(shù),分別作為底數(shù)和冪。

注意,在所有這些例子中,我們不僅要指定參數(shù)的個(gè)數(shù),還要指定參數(shù)的類型。所以當(dāng)你寫一個(gè)類定義時(shí),發(fā)現(xiàn)參數(shù)列表指定了每個(gè)參數(shù)的類型,這應(yīng)該沒什么奇怪的。例:

void printTwice (char phil) {
   cout << phil << phil << endl;
}

此函數(shù)攜帶一個(gè)參數(shù),名稱為phil,類型為char。不管這個(gè)參數(shù)是什么(光看這些我們也不知道它是什么),它都要被打印兩次,然后是一個(gè)空行。我選擇給這個(gè)參數(shù)命名為phil,只是想說明你的參數(shù)名稱由你決定,但是一般情況下你要選擇一個(gè)比phil更直白的名字。

調(diào)用這個(gè)函數(shù)需要我們給一個(gè)char值。例如,我們可以定義main函數(shù)如下:
void main () {
  printTwice (’a’);
}

你提供的這個(gè)char值被稱作參數(shù)值,我們稱參數(shù)值被傳遞給函數(shù)。這種情況’a’作為參數(shù)值傳給了printTwice,它將被打印兩次。

換一種方式,如果我們定義了一個(gè)char變量,就可以換用此變量做參數(shù)值:

void main () {
     char argument = ’b’;
     printTwice (argument);
}

注意這里一點(diǎn)非常重要:作為參數(shù)值傳給函數(shù)的變量名(argument)跟函數(shù)的參數(shù)名(phil)沒有任何關(guān)系。我再重申一遍:

作為參數(shù)值傳給函數(shù)的變量名跟函數(shù)的參數(shù)名沒有任何關(guān)系。

它們可以同名也可以不同名,但重要的是你必須認(rèn)識到它們不是同一個(gè)東西,除非它們碰巧值相同(本例中它們都是字符’b’)。

傳給函數(shù)的參數(shù)值必須和函數(shù)的參數(shù)具有相同的類型。這是條重要的規(guī)則,但有時(shí)會(huì)混淆,因?yàn)镃++會(huì)自動(dòng)轉(zhuǎn)換參數(shù)值的類型。現(xiàn)在你應(yīng)該了解這些普遍規(guī)則,后面我們再討論例外情況。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號