位置:首页 > 软件操作教程 > 编程开发 > C语言 > 问题详情

C语言 函数的定义 说明

提问人:刘团圆发布时间:2020-11-30

从上面两个例题可看出,一个函数是由函数说明部分和函数体构成的。

(1)函数说明部分

    函数说明部分包括类型标识符、函数名、参数表及参数类型等。

    ①类型标识符:类型标识符用来定义函数的类型。函数的类型即是函数返回值的类型,希望函数返回什么类型的值就用该类型来说明函数。例如上例求最大值函数max()中,返回值是a和b两个数中的最大值,a和b都是整型,所以返回值也应是整型,因而用int来定义函数。

    函数可以没有返回值,如果函数不需要返回值,可将函数定义为空类型void。需要注意的是,如果不需要函数返回值,而且也未将函数定义为空类型,有些编译系统在编译时会报蝥告错误。

    ②函数名:即函数定义时为函数所起的名字。当该函数被调用时,需要引用函数名。函数名的命名规则遵循C语言标识符的命名规则,同一个程序中函数名不能重名。

    ③参数表:参数表是写在函数名后面的括号“()”中的变量列表。参数表中包含一个或多个变量,每个变量前有声明其类型的类型标识符,每一个参数之间以逗号分隔。例如上例求最大值中:

    int max (int a, int b)

    参数表中有两个参数a和b,且都是整型。

    对于无参函数,参数表是空的,但是函数名后面的“()”不可省略

(2)函数体

    花括号“{}”括起的部分称为函数体。函数体是函数的语句执行部分,也由两部分组成:说明语句部分和可执行语句部分。

    ①说明语句:主要包括声明语句,声明变量、数组、指针、函数等。

    ②可执行语句部分:是完成函数功能的执行语句系列。注意如果函数有返回值,在执行语句部分需要出现return语句。return语句用来将函数的返回值带回给主调函数。

(3)函数定义不允许嵌套

    在C语言中,所有函数包括主函数main()都是平行的。一个函数的定义,可以放在程序中的任意位置,主函数main()之前或之后。但在一个函数的函数体内,不能再定义另一个函数,即不能嵌套定义。如以下定义是错误的:

int oprdata(int a,int b)

{

    int max(int x,int y)    /* 试图在 optdata 中嵌入一个max.函数 */

    {

      return(x>y?x:y);

    }

    int min(int x.int y)    /* 试图在 optdata 中嵌入一个min.函数 */

    {

    return (x<y?x:y);

    }

}

(4)C语言允许定义空函数

空函数就是既无参数、函数体又为空的函数。其一般形式为:

[函数类型]    函数名(void)

{

}

例如:

void nothing()

{

}

    nothing()函数就是一个空函数,当调用该函数时,什么也不做。空函数的意义可以是先占位,等程序功能扩展时加入具体有意义的内容。

继续查找其他问题的答案?

相关视频回答
回复(0)
返回顶部