Computer >> Máy Tính >  >> Lập trình >> C ++

Khai báo lại biến toàn cục trong C

Ở đây chúng ta sẽ xem khai báo lại các biến toàn cục trong C. C có hỗ trợ điều này hay không. Hãy cho chúng tôi xem đoạn mã sau để biết ý tưởng về nó.

Ví dụ

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

Đầu ra

[Error] redeclaration of 'a' with no linkage

Như vậy có thể thấy rằng chúng ta không thể khai báo lại các biến cục bộ. Bây giờ chúng ta hãy xem đâu sẽ là đầu ra cho các biến toàn cục.

Ví dụ

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

Đầu ra

a is : 50

Vì vậy, các biến toàn cục không tạo ra bất kỳ lỗi nào trong trường hợp này. Bây giờ chúng ta hãy xem nếu khai báo đầu tiên đang giữ một giá trị, sau đó nó có thể được khai báo lại hay không?

Ví dụ

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

Đầu ra

[Error] redefinition of 'a'

Vì vậy, chúng ta có thể thấy rằng chúng ta chỉ có thể khai báo lại các biến toàn cục khi chúng chưa được khởi tạo.