错误示例:
#include <stdio.h>
int main()
{
int a = 10;
int b = 20;
printf("%d",Add(a, b));
return 0;
}
int Add(int x, int y)
{
return x + y;
}
发生警告:
原因:编译器从前往后扫描代码,扫描至Add时未识别到对应函数
正确示例(使用函数的声明):
#include <stdio.h>
int main()
{
int a = 10;
int b = 20;
int Add(int, int);//函数声明——告知编译器函数存在
//告诉编译器函数名,参数类型与个数,返回类型,但是具体是否存在无关紧要
//函数定义出现在函数调用之后,须先声明后使用
printf("%d",Add(a, b));
return 0;
}
int Add(int x, int y)//函数的定义——创造函数
{
return x + y;
}
打印结果:
函数的声明与定义的主要应用场景:
函数的声明与定义常常分装于不同的文件中,函数的声明放于头文件(.h)中,函数的定义放于对应的源文件(.c)中,调用函数时引用头文件(#include "文件名.h" )。
示例:
打印结果:
函数的声明与定义分装的主要作用:加密源文件。
解决方案一中sub项目使用分装创建了一个函数,若不想泄漏源文件,则可以通过修改sub项目的配置类型使之成为静态库 (包含头文件与源文件,内容为乱码,但可以通过项目中引入相应头文件,从而调用静态库中对应源文件所创造的函数功能),将sub静态库和相应头文件导入解决方案二文件夹中,项目中引入该头文件,即可实现函数功能。