欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

变量重定义

程序员文章站 2022-04-09 18:18:16
出现变量重定义的情况? 源文件与include的文件定义了同一个变量 main.c a.c 1 int a = 200; 编译命令: gcc main.c -o main 编译报错: 链接的两个文件都定义了同一个变量 main.c a.c 编译命令: gcc -c main.c -o main.o ......

出现变量重定义的情况?

源文件与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

最后一步链接会报错:

 变量重定义