6.函数
6.函数
function
作用:
- 减少重复代码块
- 代码模块清晰
函数定义的一般形式:
1
2
3
4
返回类型 函数名(形式参数列表)
{
数据定义部分;
执行语句部分; }
函数定义
无参无返回值函数定义
void fun() { }
有参无返回值函数定义
void fun2(int a , int b) { }
形参 和 实参
- 定义函数时 () 里面的参数叫形参
- 形参不开辟空间,即 形式上的参数
- 形参只有在被调用的时候 会分配空间,调用结束时,释放空间
- 调用函数时,() 里面的参数叫实参
- 实参和形参的类型必须一致
- 形参不会影响实参,只会是单向传递
- 实参本身为变量,传给形参时,只会把值传进去,不会传递空间
形参返回值
- 大于 4 字节时,存在内存里
- 小于等于 4 字节时,存在寄存器里
函数的声明
作用:告诉编译器,这个东西在其他地方定义 有函数体就是函数的定义,无函数体就是函数的声明
- 函数的声明,把函数的定义形式放在调用之前
- void swap(int a , int b);
- 函数声明不用写函数体
- 声明函数的时候需要加分号
- extern 用来声明
- extern void swap(int a , int b);
- void swap(int , int);
- //函数声明可以不加 extern 和变量名
return 和 exit 的区别
return – 结束当前所在函数。在main 函数中结束整个程序 exit – 结束整个程序
分文件
头文件
- <> 从系统中找
- ”” 在当前目录找 - 即文件根目录
单独的函数文件
- 方便不同项目 用到相同功能时的调用
- 在函数文件(.c)中实现
- 在头文件(.h)中调用
防止头文件重复包含
第一种方法
1
2
3
4
5
6
7
#ifndef _MT_MATH_H_ //定义宏名字最好与文件名一样,大写
#define _MT_MATH_H_
int my_max(int a,int b);
int my_min(int a,int b);
int my_div(int a,int b);
#endif //#endif 与 #if 联用
第二种方法
1
pragma once
This post is licensed under CC BY 4.0 by the author.