1. 程式人生 > >變量重定義

變量重定義

info 命令 code include ima 重定義 -o alt col

出現變量重定義的情況?

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

最後一步鏈接會報錯:

技術分享圖片

變量重定義