 
  Data Structure Data Structure
 Networking Networking
 RDBMS RDBMS
 Operating System Operating System
 Java Java
 MS Excel MS Excel
 iOS iOS
 HTML HTML
 CSS CSS
 Android Android
 Python Python
 C Programming C Programming
 C++ C++
 C# C#
 MongoDB MongoDB
 MySQL MySQL
 Javascript Javascript
 PHP PHP
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
C Program to Redeclaration of global variable
We will understand how C and C++ behave differently in case we re-declare a global variable without initializing, redeclaring global variables with initialization, redeclaring global variables and initializing them twice. Also, we will repeat above combinations with local variables.
1. A) C program : Redeclaring Global variables with no initialization
#include <stdio.h> int var; int var; int main(){    printf("Var = %d",var);    return 0; }  Output
Var = 0
B) C++ program : Redeclaring Global variables with no initialization
#include <iostream> using namespace std; int var; int var; int main(){    cout<<"Var = "<<var;    return 0; }  Output
Compilation Error: int var; main.cpp:3:5: note: ‘int var’ previously declared here
Results:- C allows redeclaration of global variables without initialization. Value remains 0. C++ gives a Compilation error that the variable is redeclared.
2. A) C program : Redeclaring Local variables with no initializations
#include <stdio.h> #include <stdio.h> int main(){    int var;    int var;    printf("Var = %d",var);    return 0; }  Output
error: redeclaration of ‘var’ with no linkage
B) C++ program : Redeclaring Local variables with no initialization
#include <iostream> using namespace std; int main(){    int var;    int var;    cout<<"Var = "<<var;    return 0; } Output
error: redeclaration of ‘int var’
Results:- Both C and C++ do not allow redeclaration of local variables with no initialization done. Both programs failed in compilation.
3. A) C program : Redeclaring Global variables with initialization
#include <stdio.h> int main(){    int var;    int var=10;    printf("Var = %d",var);    return 0; } Output
Var = 10
B) C++ program : Redeclaring Global variables with initialization
#include <iostream> using namespace std; int var; int var=10; int main(){    cout<<"Var = "<<var;    return 0; } Output
main.cpp:7:9: error: redeclaration of ‘int var’ int var;
Results:-C allows redeclaration of Global variable if it is uninitialized. C++ program fails during compilation.
4. A) C program : Redeclaring Global variables with initialization
#include <stdio.h> int var; int var=10; int main(){    printf("Var = %d",var);    return 0; } Output
error: redeclaration of ‘var’ with no linkage
B) C++ program : Redeclaring Local variables with initialization
#include <iostream> using namespace std; int main(){    int var;    int var=10;    cout<<"Var = "<<var;    return 0; } Output
error: redeclaration of ‘int var
Results:-Both C and C++ do not allow redeclaration of local variables even if it is uninitialized. Both programs failed in compilation
