我正在学习静态函数,并且根据规则,如果我将函数声明为静态函数,那么我无法将此函数访问到其他 c 文件中,如果我尝试访问,那么应该有一个错误“未定义对 `fun 的引用”所以我在 add.c 和 add.h 文件中声明并定义静态函数并将该函数调用到 main.c 文件中,但我得到不同的错误,即“ 'fun' 的静态声明遵循非静态声明”强文本 ,所以我的问题是那为什么这个错误来了????请原谅我英语不好!!!!
/************** main.c****************/
#include <stdio.h>
#include <stdlib.h>
#include "add.h"
int main(void)
{
printf("%d ", fun());
printf("%d ", fun());
return 0;
}
/***************add.c*************/
#include <stdio.h>
#include "add.h"
static int fun(void)
{
int a=5,b=4;
return a+b;
}
/*********************add.h*************/
#ifndef ADD_H_
#define ADD_H_
static int fun(void);
#endif /* ADD_H_ */