C 中的全域性變數重新宣告


接下來我們將討論 C 中全域性變數的重新宣告。C 是否支援重新宣告讓其存在。讓我們參考以下程式碼來了解有關此方面的一些知識。

示例

#include <stdio.h>
int main(){
   int a;
   int a = 50;
   printf("a is : %d\n", a);
}

輸出

[Error] redeclaration of 'a' with no linkage

因此我們瞭解到我們無法重新宣告區域性變數。現在讓我們看看全域性變數的輸出將會是什麼。

示例

#include <stdio.h>
int a;
int a = 50;
int main(){
   printf("a is : %d\n", a);
}

輸出

a is : 50

因此在這種情況下全域性變數不會建立任何錯誤。現在讓我們看看如果第一個宣告擁有某個值,那麼它是否能重新宣告?

示例

#include <stdio.h>
int a = 10;
int a = 50;
int main(){
   printf("a is : %d\n", a);
}

輸出

[Error] redefinition of 'a'

因此我們可以瞭解到只有在未初始化的情況下我們才能夠重新宣告全域性變數。

2019 年 7 月 30 日更新

647 次瀏覽

開啟您的職業生涯

完成課程獲得認證

開始
廣告