C语言static的一个不解

C语言static的一个困惑
C语言static的一个不解这是exam01.h文件C语言static的一个不解这是main测试文件C语言static的一个不解这是运行结果
我昨天看到了C语言中的static,代码中只要加了static的代码块就是内部链接呀,那就不应该给外部的文件引用呀,大家帮我这个小白解解惑呗
------解决思路----------------------
这个,我觉得这样理解。
static变量定义了,就在内存里面画了一块内存出来,然后这个内存就一直占用着,直到程序结束。
而不是楼主想的那样,内部外部不能引用。
不知道楼主是不是接触了面向对象编程,那里面有个私有变量,那个外部就不能访问了,
楼主不要弄混了

------解决思路----------------------
题主 你得想弄清楚什么是 #include
这个预处理之类是把 指定文件的全部内容都写到#include 的位置
所以你的 main文件 预处理之后的代码是
........
static int INT_MAX = 1000;
int sum()......
int main()
......

你的INT_MAX 的确是内部链接 的确是其他文件找不到 这个INT_MAX
但是你没有在其他文件找这个符号 
你是在本文件使用这个符号 
所以没什么问题 

记住一点 .h 文件只是 .cpp文件的 一个片段
------解决思路----------------------
楼上两位的解答是对的,楼主main函数的cpp文件包含了定义static变量的exam01.h头文件,所以static变量INT_MAX在cpp文件中是可见的。