一.函数的声明:
- 作用:告诉编译器有一个函数叫什么,参数是什么,返回类型是什么,但具体是不是存在,函数声明决定不了。
- 函数的声明一般出现在函数的使用之前,要满足先声明后使用。
因为编译器是从上往下扫描执行代码的,因此函数声明要放在该函数被调用之前,目的是告诉编译器有这样一个函数。(上面写法就是错误的)#define _CRT_SECURE_NO_WARNINGS #include<stdio.h> int main() { int a = 0; int b = 0; scanf("%d %d", &a, &b); printf("%d", add(a, b)); return 0; } int add(int x, int y) { return x + y; }
- 函数声明格式:
int add(int x, int y); //一定不要忘记加分号
- 正确声明格式:
#define _CRT_SECURE_NO_WARNINGS #include<stdio.h> int add(int x, int y); //也可写为int add(int,int); int main() { int a = 0; int b = 0; scanf("%d %d", &a, &b); printf("%d", add(a, b)); return 0; } //下面是函数的定义 int add(int x, int y) { return x + y; }
- 函数的声明一般要放在头文件中。但是要注意的是<>包裹的是标准库实现,“”包裹自己写的函数的头文件
.
.
.
二.函数定义:
- 概念:函数的定义是指函数的具体实现,交代函数的功能实现。(例如上面代码中对add函数的定义)
//函数的定义: int add(int x, int y) { return x + y; }
- 注意:函数定义是一种特殊的函数声明。通常我们一般直接把函数定义放前面,而不会写函数声明,但是这要特别注意的是,如果不使用函数声明,函数定义就一定要放在该函数被调用之前。
#define _CRT_SECURE_NO_WARNINGS #include<stdio.h> int add(int x, int y) { return x + y; } int main() { int a = 0; int b = 0; scanf("%d %d", &a, &b); printf("%d", add(a, b)); return 0; }
.
.
.
三.建立静态库:
- 建立新项目,添加现有项:
- 属性——常规——配置类型——(修改为)静态库(.lib)
- 按住Ctrl+F7,显示如下内容说明已经成功
- 使用静态库:
#define _CRT_SECURE_NO_WARNINGS #pragma comment(lib,"add.lib") #include"add.h" #include<stdio.h> int main() { int a = 0; int b = 0; scanf("%d %d", &a, &b); printf("%d", add(a, b)); return 0; }