用static修饰的函数,本限定在本源码文件中,不能被本源码文件以外的代码文件调用。
普通的函数,默认是extern的,也就是说,可以被其它代码文件调用该函数。
例如:
/*********************************************** * fun.c ***********************************************/
#include <stdio.h>
void fun (int n) { printf("%d/n"); } |
/*********************************************** * test.c ***********************************************/
extern void fun (void);
int main () { fun(); return 0; } |
但是如果fun.c里fun函数前加static,则test里就不可以调用
同理static变量,不在函数内。
这是我的见解和实验,供大家参考,有什么不对的地方,欢迎大家提出意见。