第六章 C语言之函数

6.函数

函数是执行某一过程的代码整体,如main函数,main()就是C语言最原始且必备的函数,所以C代码都是从main()开始执行

函数声明

C语言是声明式语言,函数声明的目的在于告诉编译器函数的原型(签名)如函数名、输入参数、返回值类型是怎么样的,它的定义存在在某些代码模块里边,类似于变量先声明后定义的原则。函数声明提供了很好的接口封装,使用者只需要了解接口的用法,不需要关心实现细节,实现了接口与细节的隔离,这种思想特别适用于编写函数库

声明格式

 return_value_type function_name(arge_type arg1, arge_type arg2, ...);

注意

声明一般放头文件,或者放在使用代码块之前

函数定义

函数定义的目的是关联函数的签名和实现,给出函数体的内容

定义格式

 return_value_type function_name(arge_type arg1, arge_type arg2, ...)
 {
 
 }

形参

arg1、arg2 ... 通称入参或形参,形参的本质是局部变量,与实参相对,没有任何参数的函数可以置空参数部分,或者定义为void类型

返回值

并不是所有函数都有返回值,无返回值的函数return_value_type需要声明为void类型,不需要用return语句返回;有返回值的函数需要定义一个返回值参数,在函数结束的时候return该参数

示例

 // 无返回值无形参的函数
 void func1() 
 {
     printf("hello world");
 }
 
 // 无返回值有形参的函数
 void func2(int val)
 {
     printf("val : \n", val);
 }
 
 // 有返回值无形参的函数
 int func3()
 {
     int i;
     int sum = 0;
     for(i = 1; i <= 100; i++) {
         sum += i;
     }
     return sum;
 }
 
 // 有返回值有形参的函数
 int func4(int max)
 {
     int i;
     int sum = 0;
     for(i = 1; i <= max; i++) {
         sum += i;
     }
     return sum;
 }

声明与定义的区别

声明可以多处声明,但是定义只能有一个,否则编译器会提示多重定义

阅读剩余
THE END