欧美free性护士vide0shd,老熟女,一区二区三区,久久久久夜夜夜精品国产,久久久久久综合网天天,欧美成人护士h版

首頁綜合 正文
目錄

柚子快報激活碼778899分享:后端 C語言——函數(shù)

eBay易貝樂綜合2025-05-07490

柚子快報激活碼778899分享:后端 C語言——函數(shù)

http://yzkb.51969.com/

1.函數(shù)的概念?

? ? C語?中的函數(shù)就是?個完成某項特定的任務(wù)的??段代碼。這段代碼是有特殊的寫法和調(diào)??法的。 C語?的程序其實是由?數(shù)個?的函數(shù)組合?成的,也可以說:?個?的計算任務(wù)可以分解成若?個較 ?的函數(shù)(對應(yīng)較?的任務(wù))完成。同時?個函數(shù)如果能完成某項特定任務(wù)的話,這個函數(shù)也是可以 復(fù)?的,提升了開發(fā)軟件的效率。

在C語?中我們?般會?到兩類函數(shù):

?

庫函數(shù)

?

?定義函數(shù)

2.庫函數(shù)

? ??C語?標準中規(guī)定了C語?的各種語法規(guī)則,C語?并不提供庫函數(shù);C語?的國際標準ANSI C規(guī)定了? 些常?的函數(shù)的標準,被稱為標準庫,那不同的編譯器?商根據(jù)ANSI提供的C語?標準就給出了?系列 函數(shù)的實現(xiàn)。這些函數(shù)就被稱為庫函數(shù)。

? ?有了庫函數(shù),?些常?的功能就不需要程序員??實現(xiàn)了,?定程度提升了效率;同時庫函數(shù)的質(zhì)量和執(zhí)?效率上都更有保證。

庫函數(shù)相關(guān)頭?件:https://zh.cppreference.com/w/c/header

? ?庫函數(shù)的學(xué)習(xí)不用一次性學(xué)完,慢慢學(xué)習(xí),逐個擊破就好了。

? ?庫函數(shù)是在標準庫中對應(yīng)的頭?件中聲明的,所以庫函數(shù)的使?,務(wù)必包含對應(yīng)的頭?件,不包含是可能會出現(xiàn)?些問題的。

?

3.函數(shù)語法形式

??

? ? 我們可以將函數(shù)想象成一個小型加工廠,工廠得輸入原料?,經(jīng)過加工才能生產(chǎn)出產(chǎn)品,函數(shù)也是一樣的,函數(shù)一般會輸入一些值,經(jīng)過函數(shù)內(nèi)的計算,得到想要的結(jié)果。

? ? 1是用來表示函數(shù)的返回類型,有時候返回類型是void,表示什么也不返回。

? ? 2是為了方便使用函數(shù),就像人的名字一樣。

? ? 3函數(shù)的參數(shù)就相當于送到工廠的原材料,函數(shù)的參數(shù)也可以是void。

? ? 4函數(shù)體就相當于工廠的加工過程。

4.形參和實參?

實參:傳遞給函數(shù)的參數(shù)a和b,稱為實際參數(shù),簡稱實參。 實際參數(shù)就是真實傳遞給函數(shù)的參數(shù)。

形參:?Add 函數(shù)的參數(shù) x和 y 只是形式上存在的,不會向內(nèi)存申請空間,不會真實存在的,所以叫形式參數(shù)。形式參數(shù)只有在 函數(shù)被調(diào)?的過程中為了存放實參傳遞過來的值,才向內(nèi)存申請空間,這個過程就是形參的實例化。

形參是實參的一份臨時拷貝;

5.return語句

在函數(shù)的設(shè)計中,函數(shù)中經(jīng)常會出現(xiàn)return語句,這?講?下return語句使?的注意事項。

?

return后邊可以是?個數(shù)值,也可以是?個表達式,如果是表達式則先執(zhí)?表達式,再返回表達式

的結(jié)果。

?

return后邊也可以什么都沒有,直接寫 return; 這種寫法適合函數(shù)返回類型是void的情況。

?

return返回的值和函數(shù)返回類型不?致,系統(tǒng)會?動將返回的值隱式轉(zhuǎn)換為函數(shù)的返回類型。

?

return語句執(zhí)?后,函數(shù)就徹底返回,后邊的代碼不再執(zhí)?。

?

如果函數(shù)中存在if等分?的語句,則要保證每種情況下都有return返回,否則會出現(xiàn)編譯錯誤。

?

6.數(shù)組做函數(shù)參數(shù)

?

在使?函數(shù)解決問題的時候,難免會將數(shù)組作為參數(shù)傳遞給函數(shù),在函數(shù)內(nèi)部對數(shù)組進?操作。

?如:寫?個函數(shù)將?個整型數(shù)組的內(nèi)容,全部置為-1,再寫?個函數(shù)打印數(shù)組的內(nèi)容。

簡單思考?下,基本的形式應(yīng)該是這樣的:

?

函數(shù)的形式參數(shù)要和函數(shù)的實參個數(shù)匹配

?

函數(shù)的實參是數(shù)組,形參也是可以寫成數(shù)組形式的

?

形參如果是?維數(shù)組,數(shù)組??可以省略不寫

?

形參如果是?維數(shù)組,?可以省略,但是列不能省略

?

數(shù)組傳參,形參是不會創(chuàng)建新的數(shù)組的

?

形參操作的數(shù)組和實參的數(shù)組是同?個數(shù)組

?7. 嵌套調(diào)用和鏈式訪問

1.嵌套調(diào)用

嵌套調(diào)?就是函數(shù)之間的互相調(diào)?,每個函數(shù)就像?個樂?零件,正是因為多個樂?的零件互相?縫的配合才能搭建出精美的樂?玩具,也正是因為函數(shù)之間有效的互相調(diào)?,最后寫出來了相對?型的程序;

2.鏈式訪問

所謂鏈式訪問就是將?個函數(shù)的返回值作為另外?個函數(shù)的參數(shù),像鏈條?樣將函數(shù)串起來就是函數(shù)的鏈式訪問

8. 函數(shù)的聲明和定義?

1.單個文件

報錯的原因是因為C語言編譯器對源代碼進行編譯時,是從上往下掃描的,掃到函數(shù)調(diào)用的時候,并沒有發(fā)現(xiàn)函數(shù)的定義,這個時候我們只需要給函數(shù)進行聲明就可以使用了;

2.多個文件

?般在企業(yè)中我們寫代碼時候,代碼可能?較多,不會將所有的代碼都放在?個?件中;我們往往會 根據(jù)程序的功能,將代碼拆分放在多個?件中。 ?般情況下,函數(shù)的聲明、類型的聲明放在頭?件(.h)中,函數(shù)的實現(xiàn)是放在源?件(.c)?件中。

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

add.h

//

函數(shù)的聲明

int Add(int x, int y);

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?add.c

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //

函數(shù)的定義

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?int Add(int x, int y)

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? {

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?return x+y;

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?}

?

?

test.c

#include

#include "add.h"

int main()

{

?

int a = 10;

int b = 20;

//

函數(shù)調(diào)?

int c = Add(a, b);

printf("%d\n", c);

return 0;

}

?

3.static 和 extern

?

? ?static可以修飾:

? ? ? ? ? ? ? ? ? ? ? ? ? ? ?局部變量

? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

? ? ? ? ? ? ? ? ? ? ? ? ? ? ?全局變量

? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

? ? ? ? ? ? ? ? ? ? ? ? ? ? ?函數(shù)

? ?1.修飾局部變量

?

? 代碼1的test函數(shù)中的局部變量i是每次進?test函數(shù)先創(chuàng)建變量(?命周期開始)并賦值為0,然后

++,再打印,出函數(shù)的時候變量?命周期將要結(jié)束(釋放內(nèi)存)。

? 代碼2中,我們從輸出結(jié)果來看,i的值有累加的效果,其實 test函數(shù)中的i創(chuàng)建好后,出函數(shù)的時候是 不會銷毀的,重新進?函數(shù)也就不會重新創(chuàng)建變量,直接上次累積的數(shù)值繼續(xù)計算。

? 結(jié)論:static修飾局部變量改變了變量的?命周期,?命周期改變的本質(zhì)是改變了變量的存儲類型,本 來?個局部變量是存儲在內(nèi)存的棧區(qū)的,但是被 static 修飾后存儲到了靜態(tài)區(qū)。存儲在靜態(tài)區(qū)的變 量和全局變量是?樣的,?命周期就和程序的?命周期?樣了,只有程序結(jié)束,變量才銷毀,內(nèi)存才 回收。但是作?域不變的。

??

?

? 2.修飾全局變量(直接上結(jié)論吧)

? ?

結(jié)論:

? ? ? ?個全局變量被static修飾,使得這個全局變量只能在本源?件內(nèi)使?,不能在其他源?件內(nèi)?。 本質(zhì)原因是全局變量默認是具有外部鏈接屬性的,在外部的?件中想使?,只要適當?shù)穆暶骶涂梢允??;但是全局變量被 static 修飾之后,外部鏈接屬性就變成了內(nèi)部鏈接屬性,只能在??所在的源文件的內(nèi)部使用,即使其他源文件聲明了也無法使用。

?

4.extern

?

? ?extern 是?來聲明外部符號的,如果?個全局的符號在A?件中定義的,在B?件中想使?,就可以使 ? extern 進?聲明,然后使?。

?

?

柚子快報激活碼778899分享:后端 C語言——函數(shù)

http://yzkb.51969.com/

推薦閱讀

評論可見,查看隱藏內(nèi)容

本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點和立場。

轉(zhuǎn)載請注明,如有侵權(quán),聯(lián)系刪除。

本文鏈接:http://gantiao.com.cn/post/19718182.html

發(fā)布評論

您暫未設(shè)置收款碼

請在主題配置——文章設(shè)置里上傳

掃描二維碼手機訪問

文章目錄