自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

聊聊C++內(nèi)置函數(shù)和函數(shù)傳參

開(kāi)發(fā) 后端
在C ++是一些常見(jiàn)的庫(kù)函數(shù)sqrt(),abs(),isdigit()等。為了使用庫(kù)函數(shù),我們通常需要包含定義這些庫(kù)函數(shù)的頭文件。

[[404598]]

 函數(shù)是一組一起執(zhí)行一個(gè)任務(wù)的語(yǔ)句。每個(gè) C++ 程序都至少有一個(gè)函數(shù),即主函數(shù) main() ,所有簡(jiǎn)單的程序都可以定義其他額外的函數(shù)。

內(nèi)置函數(shù)

在我們學(xué)習(xí)如何創(chuàng)建函數(shù)之前,讓我們先了解一些內(nèi)置函數(shù)......

在C ++是一些常見(jiàn)的庫(kù)函數(shù)sqrt(),abs(),isdigit()等。

為了使用庫(kù)函數(shù),我們通常需要包含定義這些庫(kù)函數(shù)的頭文件。

例如,為了使用sqrt()和等數(shù)學(xué)函數(shù)abs(),我們需要包含頭文件cmath。

  1. #include <cmath> 

現(xiàn)在我們獲得了調(diào)用sqrt()任何數(shù)字的平方根的能力。

要調(diào)用基本函數(shù),我們只需要函數(shù)名后跟一對(duì)括號(hào),如sqrt(9). 例如:

  1. #include <iostream> 
  2. #include <cmath> 
  3.  
  4. int main(){ 
  5.     std::cout << sqrt(9) << "\n"

使用rand()加上模運(yùn)算符調(diào)用,生成隨機(jī)數(shù)。例如,rand() % 29將輸出 0 到28 之間的隨機(jī)數(shù)

函數(shù)

C++ 函數(shù)由兩個(gè)不同的部分組成:

  • 聲明:這包括函數(shù)的名稱(chēng)、返回類(lèi)型是什么以及任何參數(shù)(如果函數(shù)將接受輸入值,稱(chēng)為參數(shù))。
  • 定義:也稱(chēng)為函數(shù)體,它包含函數(shù)應(yīng)該做什么的指令。

C++ 中的函數(shù)定義的一般形式如下:

  1. return_type function_name( any, parameters, you, have ) { 
  2.   
  3.    // Code block here 
  4.   
  5.    return output_if_there_is_any; 
  6.   

C++ 中,函數(shù)由一個(gè)函數(shù)頭和一個(gè)函數(shù)主體組成。下面列出一個(gè)函數(shù)的所有組成部分:

  • 返回類(lèi)型:函數(shù)可以返回一個(gè)值。該return_type是值的函數(shù)返回的數(shù)據(jù)類(lèi)型。某些函數(shù)執(zhí)行所需的操作而不返回值。在這種情況下, return_type 是關(guān)鍵字void。
  • 函數(shù)名稱(chēng):這是函數(shù)的實(shí)際名稱(chēng)。函數(shù)名和參數(shù)列表共同構(gòu)成了函數(shù)簽名。
  • 參數(shù):參數(shù)就像占位符。當(dāng)一個(gè)函數(shù)被調(diào)用時(shí),你將一個(gè)值傳遞給參數(shù)。該值稱(chēng)為實(shí)際參數(shù)或?qū)崊ⅰ?shù)列表是指函數(shù)參數(shù)的類(lèi)型、順序和數(shù)量。參數(shù)可選;也就是說(shuō),一個(gè)函數(shù)可能不包含任何參數(shù)。
  • 函數(shù)體:函數(shù)體包含一組定義函數(shù)功能的語(yǔ)句。

下面是一個(gè)函數(shù)聲明的例子。

  1. void greet() { 
  2.     std::cout << "Hello World"

在上面的程序中,我們聲明了一個(gè)名為greet(). 要使用該函數(shù)greet(),我們需要調(diào)用它。

下面是我們?nèi)绾握{(diào)用上述greet()函數(shù)。

  1. int main() { 
  2.       
  3.     // calling a function    
  4.     greet();  
  5.  

 

傳遞參數(shù)

在C++中,函數(shù)聲明的代碼add應(yīng)該在函數(shù)調(diào)用main之前。

C++中函數(shù)參數(shù)的傳遞方式有三種:傳值、傳地址、傳引用。

這里先學(xué)習(xí)最簡(jiǎn)單的傳值。在這種傳遞參數(shù) 中,我們傳遞存儲(chǔ)或復(fù)制到函數(shù)形式參數(shù)中的參數(shù)值。因此,原始值不變,只是函數(shù)內(nèi)部的參數(shù)發(fā)生了變化。

  1. void calc(int x); 
  2.  
  3. int main() 
  4.     int x = 10; 
  5.     calc(x); 
  6.     printf("%d", x); 
  7.  
  8. void calc(int x) 
  9.     x = x + 10 ; 

在這種情況下,實(shí)際變量x不會(huì)改變,因?yàn)槲覀儼粗祩鬟f參數(shù),因此傳遞了 x 的副本,該副本已更改,并且該復(fù)制的值在函數(shù)結(jié)束時(shí)被銷(xiāo)毀(超出范圍)。所以main() 中的變量x的值仍然是 10。

但是我們可以改變這個(gè)程序來(lái)修改原來(lái)的X,通過(guò)使函數(shù)計(jì)算時(shí)候,返回一個(gè)值,并存儲(chǔ)X該值。

  1. int calc(int x); 
  2.  
  3. int main() 
  4.     int x = 10; 
  5.     x = calc(x); 
  6.     printf("%d", x); 
  7.  
  8. int calc(int x) 
  9.     x = x + 10 ; 
  10.     return x; 

20

形式參數(shù)(指針傳遞)

傳遞,形式參數(shù)可以作為引用或指針,在這兩種情況下,它們都會(huì)改變?cè)甲兞康闹怠?/p>

  1. void calc(int *p); 
  2.  
  3. int main() 
  4.     int x = 10; 
  5.     calc(&x);     // 傳遞x的地址作為參數(shù) 
  6.     printf("%d", x); 
  7.  
  8. void calc(int *p) 
  9.     *p = *p + 10; 

最終結(jié)果是20.

 

責(zé)任編輯:姜華 來(lái)源: Python之王
相關(guān)推薦

2022-07-26 00:36:06

C#C++函數(shù)

2021-01-13 06:58:35

C語(yǔ)言函數(shù)指針

2025-02-06 13:23:09

C++函數(shù)參數(shù)

2010-01-18 15:53:27

C++析構(gòu)函數(shù)

2010-01-18 16:56:30

C++函數(shù)

2010-01-28 13:35:41

調(diào)用C++函數(shù)

2010-01-27 17:16:52

C++構(gòu)造函數(shù)

2010-01-26 10:42:26

C++函數(shù)

2009-02-24 16:17:41

日期時(shí)間函數(shù)

2023-11-22 13:22:51

C++函數(shù)

2010-02-01 11:22:09

C++虛函數(shù)

2023-12-13 10:51:49

C++函數(shù)模板編程

2010-01-19 14:28:41

C++ main()函

2023-11-28 11:51:01

C++函數(shù)

2022-07-18 15:32:37

C++虛函數(shù)表

2010-01-21 11:23:58

C++函數(shù)調(diào)用

2010-02-05 10:23:09

C++基本函數(shù)

2010-02-02 10:07:59

C++全局函數(shù)

2010-02-02 15:59:32

C++賦值函數(shù)

2010-01-28 10:49:22

C++構(gòu)造函數(shù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)