变量重定义

Posted jasonzhi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了变量重定义相关的知识,希望对你有一定的参考价值。

出现变量重定义的情况?

源文件与include的文件定义了同一个变量

main.c

1 #include <stdio.h>
2 #include "a.c"
3 
4 int a = 100;
5 
6 int main() {
7 
8     return 0;
9 }

a.c

 1 int a = 200; 

编译命令:

gcc main.c -o main

编译报错:

 技术分享图片

链接的两个文件都定义了同一个变量

main.c

1 #include <stdio.h>
2 
3 int a = 100;
4 
5 int main() {
6 
7     return 0;
8 }

a.c

int a = 200;

编译命令:

gcc -c main.c -o main.o

gcc -c a.c -o a.o

gcc main.o a.o -o main

最后一步链接会报错:

 技术分享图片

以上是关于变量重定义的主要内容,如果未能解决你的问题,请参考以下文章