在我的程序中,我有一个名为的文件constants.h
,它在全局范围内声明了以下矩阵(矩阵应该是完全恒定的 - 如果有人发现潜在问题,请告诉我):
static unsigned char const MY_MATRIX[66][9] = {...};
在另一个文件中,我们称之为它main.c
,我实际上可以引用这个常量:
doSomething(var1, count, MY_MATRIX[42], TRUE, FALSE, thing);
但是后来我只是阅读了关键字的定义,static
这应该意味着无法在定义它的文件之外访问该变量。(在这种情况下,所需的行为是应该访问它,但似乎extern
关键字是使用的那个!)
那么,谁能告诉我为什么会这样?为什么变量不可见?谢谢!