函数的声明与定义
函数的声明与定义的区分还是比较清晰的,在.c 与 .h 里面都可以做函数的声明与定义(内联函数的定义也会放在.h)
1.声明
- <返回值数据类型> <函数名>(<参数1数据类型> <参数1> , …);
- 无大括号。以分号“;”结束
- 如果函数的使用在定义之前,则需要在使用之前,先声明函数
2.定义
- <返回值数据类型> <函数名>(<参数1数据类型> <参数1> , …){…}
- 有大括号,里面是函数功能的具体实现
函数默认都是外部的,除非加static 作用修饰关键字
变量的声明与定义
- .h 只做声明,不做定义
局部变量的声明与定义
局部变量的声明与定义还是比较好区分
1.声明
- <数据类型> <变量名称>;
- 如: int val;
2.定义
- <数据类型> <变量名称> = <值>;
- 如: int val = 1;
注意:<变量名> = <值> 叫做赋值
全局变量的声明与定义
extern int a;//声明一个全局变量a
int a; //定义一个全局变量a
extern int a =0 ;//定义一个全局变量a 并给初值。
int a =0;//定义一个全局变量a,并给初值,
只限于本文件内使用
1.可以在.h 定义,.c 直接用,但是原则上不这样做。
2.在.c 文件,所有函数的外面定义。
加了static 修饰的变脸就只能在本文件里面用了
多个文件都使用
在一个文件的.h 中用extern 关键字修饰声明,在对应的.c文件定义,其他文件#include 包含进 .h 文件即可