52函教的定义 据言程设计 言5,2.1函数的定义 5.2.2函数原 60 环 境 返回本目录
《 C 语 言 程 序 设 计 》(Visual C++ .6 0 环 境 ) 返回本章目录 5.2.2 函数原型 5.2.1 函数的定义 5.2 函数的定义
5.2.1函数的定义 1无参函数的一般形式 据言程设计 类型说明符函数名O 类型说明 语句 其中类型说明符和函数名称为函数头。类型说明符指明了本函数 的类型,函数的类型实际上是函数返回值的类型。该类型说明符 与第二章介绍的各种说明符相同。函数名是由用户定义的标识符, 60 函数名后有一个空括号,其中无参数,但括号不可少。{}中的内 容称为函数体。在函数体中也有类型说明,这是对函数体内部所 用到的变量的类型说明。【例41】中的 prints(, print hello()函数 环 都是无参函数。在很多情况下都不要求无参函数有返回值,因此 境 可以不写类型说明符。 返回本目录
5.2.1 函数的定义 《 C 语 言 程 序 设 计 》(Visual C++ .6 0 环 境 ) 1.无参函数的一般形式 返回本节目录 类型说明符 函数名() { 类型说明 语句 } 其中类型说明符和函数名称为函数头。 类型说明符指明了本函数 的类型,函数的类型实际上是函数返回值的类型。 该类型说明符 与第二章介绍的各种说明符相同。 函数名是由用户定义的标识符, 函数名后有一个空括号,其中无参数,但括号不可少。{} 中的内 容称为函数体。在函数体中也有类型说明, 这是对函数体内部所 用到的变量的类型说明。【例4.1】中的printst(),print_hello( ) 函数 都是无参函数。在很多情况下都不要求无参函数有返回值,因此 可以不写类型说明符
5.2.1函数的定义 2.有参函数的一般形式 语类型说明符函数名(形式参数表) 形式参数类型说明 序设计 类型说明 语句 有参函数比无参函数多了两个内容,其一是形式参数表,其二 是形式参数类型说明。在形参表中给出的参数称为形式参数, 它们可以是各种类型的变量,各参数之间用逗号间隔。在进行 函数调用时,主调函数将赋予这些形式参数实际的值。形参既 60 然是变量,当然必须给以类型说明。 环 境 返回不目录
5.2.1 函数的定义 《 C 语 言 程 序 设 计 》(Visual C++ .6 0 环 境 ) 2.有参函数的一般形式 类型说明符 函数名(形式参数表) 形式参数 类型说明 { 类型说明 语句 } 有参函数比无参函数多了两个内容,其一是形式参数表,其二 是形式参数类型说明。在形参表中给出的参数称为形式参数, 它们可以是各种类型的变量,各参数之间用逗号间隔。在进行 函数调用时,主调函数将赋予这些形式参数实际的值。形参既 然是变量,当然必须给以类型说明。 返回本节目录
5.2.1函数的定义 器3说明 (1)函数定义不允许嵌套。 序设计 在C语言中,所有函数(包括主函数 maing)都是平行的。一个函 数的定义,可以放在程序中的任意位置,主函数 maino之前或 之后。但在一个函数的函数体内,不能再定义另一个函数,即 不能嵌套定义。 (2)空函数—既无参数、函数体又为空的函数。其一般形式为: [函数类型]函数名(void) {} (3)在老版本C语言中,参数类型说明允许放在函数说明部分的 60 第2行单独指定。 环 境 返回不目录
5.2.1 函数的定义 《 C 语 言 程 序 设 计 》(Visual C++ .6 0 环 境 ) 3.说明 (1)函数定义不允许嵌套。 在C语言中,所有函数(包括主函数main())都是平行的。一个函 数的定义,可以放在程序中的任意位置,主函数main()之前或 之后。但在一个函数的函数体内,不能再定义另一个函数,即 不能嵌套定义。 (2)空函数──既无参数、函数体又为空的函数。其一般形式为: [函数类型] 函数名(void) { } (3)在老版本C语言中,参数类型说明允许放在函数说明部分的 第2行单独指定。 返回本节目录
52.2函教原到 在 ANSI O新标准中,采用函数原型方式,对被调用函数进行说明,其一 般格式如下: 函数类型函数名(数据类型[参数名数据类型[参数名21D); 帚例如 int pull( Int X, Int y,intz, int color;char*p)/*说明一个整型函数* char name(void) /*说明一个字符串指什函数 序设计 void student(int n, char *str) /*说明一个不返回值的函数 float calculate *说明一个浮点型函数* C语言同时又规定,在以下2种情况下,可以省去对被调用函数的说明: ①当被调用函数的函数定义出现在调用函数之前时。因为在调用之前,编 译系统已经知道了被调用函数的函数类型、参数个数、类型和顺序。 ②如果在所有函数定义之前,在函数外部(例如文件开始处)预先对各个 60 函数进行了说明,则在调用函数中可缺省对被调用函数的说明。 注意:如果一个函数没有说明就被调用,编译程序并不认为出错,而将此函 数默认为整型(int函数。因此当一个函数返回其它类型,又没有事先说 环 明,编译时将会出错。 境 返回本目录
5.2.2 函数原型 《 C 语 言 程 序 设 计 》(Visual C++ .6 0 环 境 ) 返回本节目录 在ANSI C新标准中,采用函数原型方式,对被调用函数进行说明,其一 般格式如下: 函数类型 函数名(数据类型[ 参数名][, 数据类型[ 参数名2]…]); 例如 int putlll(int x,int y,int z,int color,char *p) /*说明一个整型函数*/ char *name(void); /*说明一个字符串指什函数 */ void student(int n, char *str); /*说明一个不返回值的函数 */ float calculate(); /*说明一个浮点型函数*/ C语言同时又规定,在以下2种情况下,可以省去对被调用函数的说明: ①当被调用函数的函数定义出现在调用函数之前时。因为在调用之前,编 译系统已经知道了被调用函数的函数类型、参数个数、类型和顺序。 ②如果在所有函数定义之前,在函数外部(例如文件开始处)预先对各个 函数进行了说明,则在调用函数中可缺省对被调用函数的说明。 注意:如果一个函数没有说明就被调用, 编译程序并不认为出错, 而将此函 数默认为整型(int)函数。因此当一个函数返回其它类型, 又没有事先说 明, 编译时将会出错