C语言外部变量和静态全局变量

C语言外部变量和静态全局变量书上不是说全局变量A,用了static声明,这个A只能用在本文件,为啥代码上的那个外部变量的A还可以继续使用全局变量?

int a:这是一个变量定义,就是说,在内存中分配了一段内存空间。然后告诉编译器,这个变量,能在所有代码文件中被找到,被使用。
static int a:这是一个变量定义,就是说,在内存中分配了一段内存空间。然后告诉编译器,这个变量,只能在它本身所处的代码文件中被找到,被使用。
extern int a:这是一个声明,就是说,告诉编译器,听说有这么一个变量,我要使用,你去找找看。

在一个程序中,对于一个变量的名字:
定义只可以出现一次。
声明可以出现多次,只要每次出现的形式完全一样。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-02-02
书上是分成两个c文件的,你贴的代码写在一个个文件里了追问

那我是不是还要制作一个头文件#include?

相似回答