三种方法实现main.c调用function.c:
-
方法一:
有main.c&function.c两个文件,无function.h
function.c中对待调用函数进行定义
在main.c中调用时在调用语句前+extern
-
方法二:
有main.c&function.h两个文件,无function.c
在function.h中定义
在main.c中包含function.h进行调用
-
方法三:
有main.c&function.c&function.h三个文件
function.h中写函数声明(#ifndef #define #endif句式避免重复定义)
function.c中写函数定义(包含function.h)
main.c中包含function.h进行调用
这样做的好处:同一个头文件里可以包含多个函数
变量:在function.c里定义
在function.h里声明(声明不可以初始化)
不在头文件里定义是为了避免重复定义
.c/.h文件实际上是一种为了方便编译方便生成执行文件的一种约定,实际上.h可以反过来包含.c
我们可以通过编译过程理解.c/.h(以Linux为例)
在预处理阶段我们约定将所有.c文件包含的.h从文件名替换回代码段
替换后的每个.c文件(.i)先转化为汇编文件(.s)再转换成二进制文件(.o)
最后多个.o链接成一个.out
参考目录:
https://blog.csdn.net/jingzi123456789/article/details/51286119
https://blog.csdn.net/jingzi123456789/article/details/51286146
https://blog.csdn.net/jingzi123456789/article/details/51287139
https://www.cnblogs.com/laojie4321/archive/2012/03/30/2425015.html