Interview Question 3530

Created by admin on Sat, 17/11/2012 - 11:52
Explanation: 
extern storage class in the following declaration,extern int i;specifies to the compiler that the memory for i is allocated in some other program and that address will be given to the current program at the time of linking. But linker finds that no other variable of name i is available in any other program with memory space allocated for it. Hence a linker error has occurred.
Question: 

main()
{
extern int i;
i=20;
printf("%d",i);
}

Language: 
Answer: 

Linker Error : Undefined symbol '_i'.