首页 百科知识 关于函数定义的一般形式的几点说明

关于函数定义的一般形式的几点说明

时间:2022-10-20 百科知识 版权反馈
【摘要】:所有的外部函数不能同名,内部函数在同一源程序文件中不能同名。对函数形式参数的类型说明可以用例7-3中使用的方式,即在“()”内只给出函数参数的名称,在函数头和函数体之间用类型说明语句来说明各个参数的类型。

7.2.3 关于函数定义的一般形式的几点说明

1.函数的存储类型规定了该函数可被调用的范围。有extern和static两种存储类型标识符,用extern指定的函数为外部函数,外部函数可以被任何函数调用,存储类型缺省时默认为extern类型,例7-1中的printstar()、square()两个自定义函数都是外部函数;用static指定的函数为静态函数,又称为内部函数,静态函数局部于它所在的文件,即它只能由和它在同一源程序文件中的函数调用。在7.5节中将进一步讨论内部函数和外部函数的定义和调用。

2.类型标识符规定了该函数可否返回值,以及返回值的类型。用类型标识void指定的函数不返回值,该函数称为“空类型函数”;需要返回值的函数其返回值的类型可以是任何基本类型,也可以是后面介绍的指针类型、结构体类型和用户自定义类型。缺省的返回值类型是int。

3.函数名是一个标识符,但建议在取名时做到“见名知义”,最好不超过6个字符。所有的外部函数不能同名,内部函数在同一源程序文件中不能同名。另外,即使是无参函数,函数名后的括号“()”是必不可少的,它是函数的标志。

4.定义函数时的参数称为形式参数,简称形参。形式参数表列说明函数的参数个数、名称和类型,多个参数之间用逗号隔开。对函数形式参数的类型说明可以用例7-3中使用的方式,即在“()”内只给出函数参数的名称,在函数头和函数体之间用类型说明语句来说明各个参数的类型。也可在“()”内同时给出函数各个参数的类型和名称,如例7-2中使用的方式,但此时每个参数要分别使用类型说明符加以说明。如例7-2中函数的形式参数表列可以写成int max(inta,intb),但不能写成int max(int a,b)。

5.函数定义中最外层的一对花括号“{}”括起来的部分称为函数体。函数体由说明部分和执行部分组成,说明部分通常定义局部变量、对被调函数进行声明,局部变量不能与函数的参数同名,只在本函数内有效;执行部分是可执行语句的序列,用来完成函数的具体功能。说明部分必须在执行部分之前。

6.返回语句。void类型的函数可以没有返回语句,但也可在函数体的最后写上一个不带表达式的return语句;其他类型的函数在函数体内必须至少有一条返回语句,其形式是:return(表达式)或return(表达式);返回值是用函数名把表达式的值带回的,所以一次函数调用只能返回一个值。对于基本类型,表达式的类型和函数的类型不一致时,表达式的值自动转换为函数的类型;对于指针类型,表达式的类型和函数的类型不一致时,必须使用强制类型转换符将表达式的值转换为函数的类型,对于结构体类型和用户自定义类型表达式的类型必须和函数的类型一致。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈