Consider the below two programs:
Output in C:
redeclaration of ‘x’ with no linkage
Output in C:
In C, the first program fails in compilation, but second program works fine. In C++, both programs fail in compilation.
C allows a global variable to be declared again when first declaration doesn’t initialize the variable.
The below program fails in both C also as the global variable is initialized in first declaration itself.
error: redefinition of ‘x’
This article is contributed Abhay Rathi. Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above
- Can we access global variable if there is a local variable with same name?
- Can Global Variables be dangerous ?
- Initialization of global and static variables in C
- How Linkers Resolve Global Symbols Defined at Multiple Places?
- How to print a variable name in C?
- How to modify a const variable in C?
- Variable Length Arrays in C and C++
- Variable Length Argument in C
- Different ways to initialize a variable in C/C++
- Why variable name does not start with numbers in C ?
- How to Count Variable Numbers of Arguments in C?
- Variable length arguments for Macros
- C | Variable Declaration and Scope | Question 1
- C | Variable Declaration and Scope | Question 2
- C | Variable Declaration and Scope | Question 3