我在c文件中定义了一个静态函数,该函数使用文件的全局静态变量。如果我从另一个文件调用该函数,并且我定义了相同的静态全局变量,但具有不同的值,它将使用原始文件还是其他文件中的值?如果没有,有没有办法在我从不同文件调用的函数中使用全局参数而不将它们作为输入接收?
在源文件最外层定义的静态变量具有文件范围,即:它们仅在该文件中可见。
例如,如果您有一个源文件foo.c
:
static int var;
另一个bar.c
:
static int var;
名称为 var
的变量有两个不同的副本。每个副本仅在定义它的文件中可见。