黑马程序员技术交流社区
标题:
两个文件,定义了一个相同的全局变量,会编译成功么
[打印本页]
作者:
蒲公英的方向
时间:
2016-3-8 17:02
标题:
两个文件,定义了一个相同的全局变量,会编译成功么
有两个C文件,一个叫main.c,一个叫xxs.c,main.c 包含了xxs.c.
我在两个文件里都声明了int num,编译的时候报错误,
错误信息是clang: error: linker command failed with exit code 1 (use -v to see invocation)
删除掉一个int num就好了。
问题是我看老师讲的视频里说,这种情况下两个文件里的全局变量会指向同一块内存空间,并且老师演示的时候也是可以正常编译的,为什么我的编译不过去,错在哪里了?
// main.c
#include <stdio.h>
#include "xxs.h"
int num;
int main(int argc, const char * argv[]) {
printf("num = %p\n",&num);
return 0;
}
复制代码
// xxs.c
#include "xxs.h"
int num;
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2