位置:首頁(yè) > 軟件操作教程 > 編程開發(fā) > C語(yǔ)言 > 問(wèn)題詳情

C語(yǔ)言 函數(shù)的定義 說(shuō)明

提問(wèn)人:劉團(tuán)圓發(fā)布時(shí)間:2020-11-30

從上面兩個(gè)例題可看出,一個(gè)函數(shù)是由函數(shù)說(shuō)明部分和函數(shù)體構(gòu)成的。

(1)函數(shù)說(shuō)明部分

    函數(shù)說(shuō)明部分包括類型標(biāo)識(shí)符、函數(shù)名、參數(shù)表及參數(shù)類型等。

    ①類型標(biāo)識(shí)符:類型標(biāo)識(shí)符用來(lái)定義函數(shù)的類型。函數(shù)的類型即是函數(shù)返回值的類型,希望函數(shù)返回什么類型的值就用該類型來(lái)說(shuō)明函數(shù)。例如上例求最大值函數(shù)max()中,返回值是a和b兩個(gè)數(shù)中的最大值,a和b都是整型,所以返回值也應(yīng)是整型,因而用int來(lái)定義函數(shù)。

    函數(shù)可以沒(méi)有返回值,如果函數(shù)不需要返回值,可將函數(shù)定義為空類型void。需要注意的是,如果不需要函數(shù)返回值,而且也未將函數(shù)定義為空類型,有些編譯系統(tǒng)在編譯時(shí)會(huì)報(bào)蝥告錯(cuò)誤。

    ②函數(shù)名:即函數(shù)定義時(shí)為函數(shù)所起的名字。當(dāng)該函數(shù)被調(diào)用時(shí),需要引用函數(shù)名。函數(shù)名的命名規(guī)則遵循C語(yǔ)言標(biāo)識(shí)符的命名規(guī)則,同一個(gè)程序中函數(shù)名不能重名。

    ③參數(shù)表:參數(shù)表是寫在函數(shù)名后面的括號(hào)“()”中的變量列表。參數(shù)表中包含一個(gè)或多個(gè)變量,每個(gè)變量前有聲明其類型的類型標(biāo)識(shí)符,每一個(gè)參數(shù)之間以逗號(hào)分隔。例如上例求最大值中:

    int max (int a, int b)

    參數(shù)表中有兩個(gè)參數(shù)a和b,且都是整型。

    對(duì)于無(wú)參函數(shù),參數(shù)表是空的,但是函數(shù)名后面的“()”不可省略

(2)函數(shù)體

    花括號(hào)“{}”括起的部分稱為函數(shù)體。函數(shù)體是函數(shù)的語(yǔ)句執(zhí)行部分,也由兩部分組成:說(shuō)明語(yǔ)句部分和可執(zhí)行語(yǔ)句部分。

    ①說(shuō)明語(yǔ)句:主要包括聲明語(yǔ)句,聲明變量、數(shù)組、指針、函數(shù)等。

    ②可執(zhí)行語(yǔ)句部分:是完成函數(shù)功能的執(zhí)行語(yǔ)句系列。注意如果函數(shù)有返回值,在執(zhí)行語(yǔ)句部分需要出現(xiàn)return語(yǔ)句。return語(yǔ)句用來(lái)將函數(shù)的返回值帶回給主調(diào)函數(shù)。

(3)函數(shù)定義不允許嵌套

    在C語(yǔ)言中,所有函數(shù)包括主函數(shù)main()都是平行的。一個(gè)函數(shù)的定義,可以放在程序中的任意位置,主函數(shù)main()之前或之后。但在一個(gè)函數(shù)的函數(shù)體內(nèi),不能再定義另一個(gè)函數(shù),即不能嵌套定義。如以下定義是錯(cuò)誤的:

int oprdata(int a,int b)

{

    int max(int x,int y)    /* 試圖在 optdata 中嵌入一個(gè)max.函數(shù) */

    {

      return(x>y?x:y);

    }

    int min(int x.int y)    /* 試圖在 optdata 中嵌入一個(gè)min.函數(shù) */

    {

    return (x<y?x:y);

    }

}

(4)C語(yǔ)言允許定義空函數(shù)

空函數(shù)就是既無(wú)參數(shù)、函數(shù)體又為空的函數(shù)。其一般形式為:

[函數(shù)類型]    函數(shù)名(void)

{

}

例如:

void nothing()

{

}

    nothing()函數(shù)就是一個(gè)空函數(shù),當(dāng)調(diào)用該函數(shù)時(shí),什么也不做??蘸瘮?shù)的意義可以是先占位,等程序功能擴(kuò)展時(shí)加入具體有意義的內(nèi)容。

繼續(xù)查找其他問(wèn)題的答案?

相關(guān)視頻回答
回復(fù)(0)
返回頂部