C语言外部变量和静态全局变量
C语言外部变量和静态全局变量书上不是说全局变量A,用了static声明,这个A只能用在本文件,为啥代码上的那个外部变量的A还可以继续使用全局变量?...
C语言外部变量和静态全局变量书上不是说全局变量A,用了static声明,这个A只能用在本文件,为啥代码上的那个外部变量的A还可以继续使用全局变量?
展开
2个回答
展开全部
int a:这是一个变量定义,就是说,在内存中分配了一段内存空间。然后告诉编译器,这个变量,能在所有代码文件中被找到,被使用。
static int a:这是一个变量定义,就是说,在内存中分配了一段内存空间。然后告诉编译器,这个变量,只能在它本身所处的代码文件中被找到,被使用。
extern int a:这是一个声明,就是说,告诉编译器,听说有这么一个变量,我要使用,你去找找看。
在一个程序中,对于一个变量的名字:
定义只可以出现一次。
声明可以出现多次,只要每次出现的形式完全一样。
static int a:这是一个变量定义,就是说,在内存中分配了一段内存空间。然后告诉编译器,这个变量,只能在它本身所处的代码文件中被找到,被使用。
extern int a:这是一个声明,就是说,告诉编译器,听说有这么一个变量,我要使用,你去找找看。
在一个程序中,对于一个变量的名字:
定义只可以出现一次。
声明可以出现多次,只要每次出现的形式完全一样。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询