我刚自学c几天(也许是很低级的错误,希望各位不要嘲讽我^^)
我在写代码演示static修饰全局变量的作用时遇到问题。
先在一个文件里赋值了一个全局变量如下:
#include<stdio.h>
int a = 10;
然后在另一个文件里引用这个全局变量 如下:
#include <string.h>
#include<stdio.h>
int main()
{
//extern-申明外部符号的
extern int a ;
printf("%d\n", a);
return 0;
}
在执行不调试代码时 报错如下:
错误 LNK2001 无法解析的外部符号 "int a" (?a@@3HA)
错误 LNK1120 1 个无法解析的外部命令
在赋值全局变量的时候,我还没有用static修饰这个全局变量
//static 修饰全局变量
//改变了变量的作用域--让静态的全局变量只能在自己所在的源文件内部使用
所以应该能被引用才对,但是却报错了;
我想请问各位报错原因和如何正确引用外部全局变量;
感激不尽!