main.c
#include <stdio.h>
#include "zs.h"
//void demo();
/*
函数也分为内部函数和外部函数
默认情况下所有的函数都是外部函数
什么是外部函数? 可以被其它文件访问的函数称之为外部函数
什么是内部函数? 只能在当前文件中范文的函数称之为内部函数
*/
int main(int argc, const char * argv[]) {
test();
// demo();
return 0;
}
zs.h
//void test();
extern void test();
// 在.h中声明一个内部函数没有任何意义,因为其他文件可以看的到这个函数 声明并可以导入但是用不了这个函数。
//static void demo();
zs.c
#include "zs.h"
// 声明内部函数一般用于内部函数定义在后面, 而想在定义之前使用内部函数
static void demo();
// 只要在函数的返回值前面加上一个extern就可以让函数变为一个外部函数, 由于默认就是外部函数, 所以在开发中一般情况extern没人写
// 如果extern写在函数的实现中, 代表定义一个外部函数
// 如果extern写在函数的声明中, 代表声明一个外部函数
extern void test()
{
printf("test printf\n");
demo();
}
// 只要在函数的返回值前面加上static就可以让函数变为内部函数, 其它文件就不能访问了
// 如果static写在函数的实现中, 代表定义一个内部函数
// 如果static写在函数的声明中, 代表声明一个内部函数
static void demo()
{
printf("demo printf\n");
}