物聯網/嵌入式工程師
重磅升級:新增硬件電路設計與實戰,讓你軟硬通吃,同級PK無敵!行業風口、政策傾斜,新晉熱門高薪不內卷!0基礎一站式就業完整路徑,搶占先發優勢!
現在,小慕是一家市值百億的科技公司的老板,旗下產品無數,管著幾千個程序員,還管著人力資源,當然,最重要的,還管著財務。每天都很忙,卻可以把公司管理得井井有條。他是怎么做的呢?
公司事務繁雜,雇傭了很多員工來幫助公司運轉。例如,公司需要為員工繳納五險一金,而作為老板,顯然不用帶著每一個員工的資料去人社局辦理,只需要告訴 HR 部門,讓他們去辦理就行了。老板不需要知道辦理社保的具體細節,因為具體細節 HR 部門的同事更擅長,老板所做的僅僅是發出命令就可以了。
回到 C++ 里面來,在 C++ 中,也有很多需要用到這種模式的場景。
例如,我們想要計算兩個數的平均值:
#include <stdio.h> int main(int argc,char **argv) { int a = 10; int b = 20; int c = a + b / 2; return 0; }
可以看到,計算平均數是一個可以進行單獨模塊化的部分,就像是公司的 HR 部門。在 C++ 中我們通過函數將這個部分做成一個模塊。
#include <stdio.h> //定義函數 int avg(int a, int b) { return a + b / 2; } int main(int argc,char **argv) { int a = 10; int b = 20; int c = avg(a, b); //函數調用 return 0; }
上面的代碼中,我們就把計算平均數做成了一個函數,avg函數,在使用的時候,只需要直接調用這個函數就行了,而不用去了解平均數的計算方式。
在上面的例子中,我們把 avg 函數定義到了 main 函數之前,在使用的時候沒有出現問題。
而有的同學想把avg函數寫到 main 之后,例如這樣:
#include <stdio.h> int main(int argc,char **argv) { int a = 10; int b = 20; int c = avg(a, b); return 0; } int avg(int a, int b) { return a + b / 2; }
這樣修改之后,發現程序沒法運行了。這是因為在 C++ 中,函數要想使用,必須要先聲明。所以我們可以在調用之后實現函數體,但是必須在調用之前聲明
#include <stdio.h> int avg(int a, int b); //函數聲明 int main(int argc,char **argv) { int a = 10; int b = 20; int c = avg(a, b); return 0; } int avg(int a, int b) { return a + b / 2; }
我們現在將函數分成兩個部分來說明,分別是函數頭,函數體
函數頭:
函數體:
c++ 允許函數為調用者返回一個量,就像是老板安排某一個員工去辦某一件事,老板希望員工辦完這件事之后,給一個結果。而在這個求平均數的例子中,返回值就是求平均數之后的結果。
請驗證,完成請求
由于請求次數過多,請先驗證,完成再次請求
打開微信掃碼自動綁定
綁定后可得到
使用 Ctrl+D 可將課程添加到書簽
舉報