1、函数的定义:实现函数功能、确定函数体、返回值类型、形参类型。让函数存在
2、函数的声明:不是实现函数功能仅仅是说明改函数有返回值类型、形参类型、函数名
3、函数的调用:函数的执行
知识点一:函数的概述
1、函数的定义
//返回值类型:函数将来返回值的类型
//函数名:函数的入口地址
//形参:函数外部数据 传递到 函数内部的 桥梁
//函数体:具体的函数功能带
返回值类型 函数名(形参类型 形参) //形参可以不止一个
{
函数体;
}
2、函数的声明
省略函数声明:函数的调用
,在函数定义的下方
可以省略函数声明
返回值类型 函数名(形参类型 形参); //形参可以不止一个
3、函数的调用
//函数外部的实际数据
函数名(实参);
#include<stdio.h>
//函数声明:告诉编译器该函数存在请通过编译。
void myfun();
int main(int argc,char *agrv[])
{
//函数的调用:函数名+()
myfun();
return 0;
}
//函数的定义
void myfun()
{
printf("my fun\n");
return;
}
知识点二:函数参数
如果函数的形参啥都不写在调用的时候可以传实参,只是实参 得不到使用
如果函数没有参数请将 形参 写成void
知识点三:函数参数传递
1、函数的 形参 本质:函数的局部变量
2、形参在函数定义的时候不会开辟空间,只在函数调用的时候才开辟空间
3、形参在函数结束的时候才被释放
4、函数名代表的是函数的入口地址
5、函数的返回值 <=4 字节存放寄存器 >4 字节存放在栈区
![函数参数传递解析](https://img-blog.csdnimg.cn/img_convert/5cdaa89e3fdb5b4507308708ea831912.png)
知识点四、变量、函数在不同.c文件中的使用
变量
//若只是在单个.c中,可在对应.h文件中直接对变量声明定义
//若要跨.c文件使用,则要一下操作
int count = 0; //在.c文件中定义初始化全局变量
extern int count; //在对应.h文件中声明变量
//在要使用该变量的.c文件中声明该头文件:#include<.h文件名>
函数
//在一个.c文件写了一个函数如下
void define_bl()
{
TR0 = 1;
TMOD = 0x01;
TL0 = 0x00;
TH0 = 0xDC;
ET0 = 1;
EA = 1;
}
//在对应头文件中声明该函数
void define_bl();
//要使用该函数的.c文件中声明包含对应函数的头文件:#include<.h文件名>
define_bl();//在要使用函数的.c文件中直接调用