一、函数的概念定义
1、,函数就是 C 语言的模块,一块一块的,有较强的独立性,可以相互调用,换句话说,C 语言中,一个函数里面可以调用 n 个函数,即大函数调用小函数,小函数又调用“小小”函数。这就是结构化程序设计,所以面向过程的语言又叫结构化语言。
2、,函数就是一系列 C 语句的集合,能完成某个特定的功能。需要该功能的时候直接调用该函数即可,不用每次都堆叠代码。需要修改该功能时,也只需要修改和维护这一个函数即可
二、函数的格式和声明定义
格式定义:
1、函数的定义包含一个函数头(function head,或称为声明符(declarator))和一个函数块。函数头指定了函数的名称、返回值的类型以及参数的类型和名称(如果有参数的话)。函数块中的语句明确了该函数要做的事。函数定义的一般格式如下所示:
在上述格式的函数头中,“名称”指函数名,而“类型”包含至少一个类型修饰符,用来定义函数返回值的类型。返回值的类型可以是 void 或者任何对象类型,但不可以是数组类型。而且,类型部分还可以包含函数修饰符 inline 或 _Noreturn,以及存储类修饰符 extern 和 static。
2、函数无法返回函数或数组。然而,可以定义一个函数的返回值为指针,并将该指针指向一个函数或数组。
在上述格式中,“参数声明”是一个以逗号分隔、由函数参数声明组成的列表。如果该函数没有参数需要传入,则这个列表为空,或者仅有关键字 void。
3、函数类型不仅指定了其返回值的类型,也指定了其所有参数的类型
4、每个函数都只能被定义一次。但一个函数可以根据需要被多次的声明和调用。
声明定义:
1、C语言代码由上到下依次执行,原则上函数定义要出现在函数调用之前,否则就会报错。但在实际开发中,经常会在函数定义之前使用它们,这个时候就需要提前声明。
2、所谓声明(Declaration),就是告诉编译器我要使用这个函数,你现在没有找到它的定义不要紧,请不要报错,稍后我会把定义补上。
3、函数声明的格式非常简单,相当于去掉函数定义中的函数体,并在最后加上分号;
,如下所示:
dataType functionName( dataType1 param1, dataType2 param2 ... );
也可以不写形参,只写数据类型:
dataType functionName( dataType1, dataType2 ... );
函数声明给出了函数名、返回值类型、参数列表(重点是参数类型)等与该函数有关的信息,称为函数原型(Function Proto