函數(shù)是數(shù)學(xué)名詞,代數(shù)式中,凡相關(guān)的兩數(shù)X與Y,對于每個(gè)X值,都只有一個(gè)Y的對應(yīng)值。這種對應(yīng)關(guān)系就表示Y是X的函數(shù)。
10年的武穴網(wǎng)站建設(shè)經(jīng)驗(yàn),針對設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。全網(wǎng)營銷推廣的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動調(diào)整武穴建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)從事“武穴網(wǎng)站設(shè)計(jì)”,“武穴網(wǎng)站推廣”以來,每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。
函數(shù)(function)的定義通常分為傳統(tǒng)定義和近代定義,函數(shù)的兩個(gè)定義本質(zhì)是相同的,只是敘述概念的出發(fā)點(diǎn)不同,傳統(tǒng)定義是從運(yùn)動變化的觀點(diǎn)出發(fā),而近代定義是從集合、映射的觀點(diǎn)出發(fā)。
函數(shù)的近代定義是給定一個(gè)數(shù)集A,假設(shè)其中的元素為x,對A中的元素x施加對應(yīng)法則f,記作f(x),得到另一數(shù)集B,假設(shè)B中的元素為y,則y與x之間的等量關(guān)系可以用y=f(x)表示,函數(shù)概念含有三個(gè)要素:定義域A、值域B和對應(yīng)法則f。其中核心是對應(yīng)法則f,它是函數(shù)關(guān)系的本質(zhì)特征。
函數(shù),最早由中國清朝數(shù)學(xué)家李善蘭翻譯,出于其著作《代數(shù)學(xué)》。之所以這么翻譯,他給出的原因是“凡此變數(shù)中函彼變數(shù)者,則此為彼之函數(shù)”,也即函數(shù)指一個(gè)量隨著另一個(gè)量的變化而變化,或者說一個(gè)量。
兩個(gè)屬性是:數(shù)據(jù)類型和數(shù)據(jù)的存儲類別。
數(shù)據(jù)類型,對于變量來說是在內(nèi)存中分配的存儲單元的大小,對于函數(shù)來說是函數(shù)的返回值類型。
存儲類別,有4種(auto、static、extern、register)。
void fun(int p)
{
coutp;
}
void是返值數(shù)據(jù)類型
fun函數(shù)的名稱
(int p)函數(shù)參數(shù)的名稱、個(gè)數(shù),數(shù)據(jù)類型、指針
{...}函數(shù)體
以上四個(gè)就是。
舉一個(gè)例子來說哈:
void example(int a)
{
putchar(20);
}
1. void是返值數(shù)據(jù)類型
2. example是函數(shù)的名稱
3. (int a)是函數(shù)參數(shù)的名稱、個(gè)數(shù)、數(shù)據(jù)類型
4. {
putchar( 65 );
}是函數(shù)體
以上四個(gè)就是所謂的“函數(shù)屬性”
變量有兩種屬性:
分別是數(shù)據(jù)類型和存儲類型。
一、數(shù)據(jù)類型表示數(shù)據(jù)格式(大小長度)。
比如:int,long,float,double.......
二、存儲類別表示作用域和生命周期。
比如:
1、auto(自動變量是局部變量,定義局部變量時(shí)不指定存儲類型,默認(rèn)自動)。
作用域:定義到函數(shù)結(jié)束。
生命周期:函數(shù)調(diào)用到函數(shù)執(zhí)行結(jié)束。
2、extern外部變量。
作用域:定義開始到源文件結(jié)束。
生命周期:定義開始到程序結(jié)束。
3、static靜態(tài)變量。
可定義全局也可局部。
定義為局部變量不會隨程序調(diào)用執(zhí)行結(jié)束而釋放,且定義賦初值的語句只在函數(shù)第一次調(diào)用執(zhí)行。
局部靜態(tài)
作用域:從定義開始到函數(shù)結(jié)束。(實(shí)際函數(shù)將靜態(tài)地址做返回值返回,函數(shù)結(jié)束也能使用該地址)
生命期:從定義到程序結(jié)束。
全局靜態(tài)
作用域:從定義到源文件結(jié)束。(其他文件不能通過extern來使用)
生命周期:定義開始到程序結(jié)束。
4、rigister寄存器
寄存器變量存儲在cpu。
函數(shù)是一組一起執(zhí)行一個(gè)任務(wù)的語句。每個(gè) C 程序都至少有一個(gè)函數(shù),即主函數(shù) main() ,所有簡單的程序都可以定義其他額外的函數(shù)。
您可以把代碼劃分到不同的函數(shù)中。如何劃分代碼到不同的函數(shù)中是由您來決定的,但在邏輯上,劃分通常是根據(jù)每個(gè)函數(shù)執(zhí)行一個(gè)特定的任務(wù)來進(jìn)行的。
C 標(biāo)準(zhǔn)庫提供了大量的程序可以調(diào)用的內(nèi)置函數(shù)。例如,函數(shù) strcat() 用來連接兩個(gè)字符串,函數(shù) memcpy() 用來復(fù)制內(nèi)存到另一個(gè)位置。
函數(shù)還有很多叫法,比如方法、子例程或程序,等等。
C 語言中的函數(shù)定義的一般形式如下:
在 C 語言中,函數(shù)由一個(gè)函數(shù)頭和一個(gè)函數(shù)主體組成。下面列出一個(gè)函數(shù)的所有組成部分:
以下是 max() 函數(shù)的源代碼。該函數(shù)有兩個(gè)參數(shù) num1 和 num2,會返回這兩個(gè)數(shù)中較大的那個(gè)數(shù):
創(chuàng)建 C 函數(shù)時(shí),會定義函數(shù)做什么,然后通過調(diào)用函數(shù)來完成已定義的任務(wù)。
當(dāng)程序調(diào)用函數(shù)時(shí),程序控制權(quán)會轉(zhuǎn)移給被調(diào)用的函數(shù)。被調(diào)用的函數(shù)執(zhí)行已定義的任務(wù),當(dāng)函數(shù)的返回語句被執(zhí)行時(shí),或到達(dá)函數(shù)的結(jié)束括號時(shí),會把程序控制權(quán)交還給主程序。
調(diào)用函數(shù)時(shí),傳遞所需參數(shù),如果函數(shù)返回一個(gè)值,則可以存儲返回值。例如:
如上把 max() 函數(shù)和 main() 函數(shù)放一塊,編譯源代碼。當(dāng)運(yùn)行最后的可執(zhí)行文件時(shí),會產(chǎn)生下列結(jié)果:
形式參數(shù)就像函數(shù)內(nèi)的其他局部變量,在進(jìn)入函數(shù)時(shí)被創(chuàng)建,退出函數(shù)時(shí)被銷毀。
當(dāng)調(diào)用函數(shù)時(shí),有兩種向函數(shù)傳遞參數(shù)的方式:
默認(rèn)情況下,C 使用 傳值調(diào)用 來傳遞參數(shù)。一般來說,這意味著函數(shù)內(nèi)的代碼不能改變用于調(diào)用函數(shù)的實(shí)際參數(shù)。