如何在不使用C中的extern的情况下在源文件之间共享全局变量

时间:2016-08-27 12:35:52

标签: c global-variables

全局变量的范围仅限于定义它们的特定文件。通过使用Extern,我们可以提高它们对其他文件的可见性。为什么没有错误,因为缺少func()的定义或没有使用extern in线-1?

即使允许,在以下程序中,全局变量' x'即使不使用extern,File1和File2似乎在两个文件中具有相同的范围?

FILE1.C

{% if template contains 'special' %}
  {{ "mysite.js" | asset_url | script_tag }}
{% endif %} 

file2.c中

#include <stdio.h>
void func(void);   // line-1
int x = 15213;     // line-2
int main()
{
    func();
    printf("x = %d\n", x);
    return 0;
}

上述程序的输出为15212

即使在第2行没有使用extern时,这个输出是怎么来的?感谢帮助!

0 个答案:

没有答案