函數(shù)的定義通常包含以下內(nèi)容:
10年的東湖網(wǎng)站建設(shè)經(jīng)驗(yàn),針對設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。網(wǎng)絡(luò)營銷推廣的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(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ù)返回值類型
函數(shù)名(形參表說明)
/*
函數(shù)首部
*/
{
說明語句
/*
函數(shù)體
*/
執(zhí)行語句
}
說明:
(1)數(shù)的定義中的類型,是指函數(shù)返回值的類型。函數(shù)返回值不能是數(shù)組,也不能是函數(shù),除此之外任何合法的數(shù)據(jù)類型都可以是函數(shù)的類型,如:int
、long、float、char等,或是后面講到的指針、結(jié)構(gòu)等。函數(shù)的類型是可以省略的,當(dāng)不指明函數(shù)類型時(shí),系統(tǒng)默認(rèn)的是整類型。
(2)函數(shù)名是用戶自定義的標(biāo)識(shí)符,是C語言函數(shù)定義中唯一不可省略的部分,需符合C語言對標(biāo)識(shí)符的規(guī)定,即由字母,數(shù)字或下劃線組成,用于標(biāo)識(shí)函數(shù),并用該標(biāo)識(shí)符調(diào)用函數(shù)。另外,函數(shù)名本身也有值,它代表了該函數(shù)的入口地址,使用指針調(diào)用該函數(shù)時(shí),將用到此功能。
(3)形參也成為"形式參數(shù)"。形參表是用逗號(hào)分隔的一組變量說明,包括形參的類型和形參標(biāo)識(shí)符,其作用是指出每一個(gè)形參的類型和形參的名稱,當(dāng)調(diào)用函數(shù)時(shí),接受來自主調(diào)函數(shù)的數(shù)據(jù),確定各參數(shù)的值。形參表說明可以有兩種表示形式:
int
func
(int
x,
int
y
)
{
……
}
或
:
int
func
(
x,
y
)
int
x,
y;
{
……
}
通常,調(diào)用函數(shù)需要多個(gè)原始數(shù)據(jù),就必須定義多個(gè)形式參數(shù)。注意,在")"后面不能加分號(hào)";"。
(4)用{
}括起來的部分是函數(shù)的主體,稱為函數(shù)體。函數(shù)體是一段程序,確定該函數(shù)應(yīng)完成的規(guī)定的運(yùn)算,應(yīng)執(zhí)行的規(guī)定的動(dòng)作,集中體現(xiàn)了函數(shù)的功能。函數(shù)內(nèi)部應(yīng)有自己的說明語句和執(zhí)行語句,但函數(shù)內(nèi)定義的變量不可以與形參同名?;ɡㄌ?hào){
}是不可省略的。
根據(jù)函數(shù)定義的一般形式,我們可以得到一個(gè)C語言中最簡單的函數(shù):
dumy
(
)
{
}
這是C語言中一個(gè)合法的函數(shù),函數(shù)名為dumy。它沒有函數(shù)類型說明,也沒有形參表,同時(shí)函數(shù)體內(nèi)也沒有語句。實(shí)際上函數(shù)dumy不執(zhí)行任何操作和運(yùn)算,在一般情況下是沒有用途的,但在程序開發(fā)的過程中有時(shí)是需要的,常用來代替尚未開發(fā)完畢的函數(shù)。
函數(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,會(huì)返回這兩個(gè)數(shù)中較大的那個(gè)數(shù):
創(chuàng)建 C 函數(shù)時(shí),會(huì)定義函數(shù)做什么,然后通過調(diào)用函數(shù)來完成已定義的任務(wù)。
當(dāng)程序調(diào)用函數(shù)時(shí),程序控制權(quán)會(huì)轉(zhuǎn)移給被調(diào)用的函數(shù)。被調(diào)用的函數(shù)執(zhí)行已定義的任務(wù),當(dāng)函數(shù)的返回語句被執(zhí)行時(shí),或到達(dá)函數(shù)的結(jié)束括號(hào)時(shí),會(huì)把程序控制權(quán)交還給主程序。
調(diào)用函數(shù)時(shí),傳遞所需參數(shù),如果函數(shù)返回一個(gè)值,則可以存儲(chǔ)返回值。例如:
如上把 max() 函數(shù)和 main() 函數(shù)放一塊,編譯源代碼。當(dāng)運(yùn)行最后的可執(zhí)行文件時(shí),會(huì)產(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ù)。
C語言的函數(shù)定義格式是:\x0d\x0a函數(shù)返回值類型 函數(shù)名 ( 參數(shù)列表 )\x0d\x0a{\x0d\x0a //函數(shù)體\x0d\x0a}\x0d\x0a\x0d\x0a在使用函數(shù)時(shí),要先做聲明,格式如下:\x0d\x0a函數(shù)類型 函數(shù)名稱 ( 參數(shù)列表 );\x0d\x0a特別地,在函數(shù)聲明中的參數(shù)列表中,不需給出具體的變量名稱,但要給出每個(gè)變量的類型。
函數(shù)定義包括有參函數(shù)和無參函數(shù),無參函數(shù)為:
類型標(biāo)示符
函數(shù)名()
{
聲明語句
語句部分
}
無參函數(shù):
類型標(biāo)示符
函數(shù)名(形式參數(shù)列表)
{
聲明部分
語句部分
}
例如:
int
max(int
x,int
y)
{
int
z;
z=xy?x:y;
return(z);
}
C語言的函數(shù)定義格式是:
函數(shù)類型 函數(shù)名稱 ( 參數(shù)列表 )
{
//函數(shù)體
}
函數(shù)聲明,不是說明的格式是“函數(shù)定義格式”的第一行,然后加 “;”,即:
函數(shù)類型 函數(shù)名稱 ( 參數(shù)列表 );
特別地,在函數(shù)聲明中的參數(shù)列表中,不需要給出具體的變量名稱,但必須給出每個(gè)變量的類型。