Saturday 22 October 2011

Predict the output or error(s) for the following:

 main()

{

            extern int i;

            i=20;

           printf("%d",i);

}

 Answer:

Linker Error : Undefined symbol '_i'

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 .


No comments:

Post a Comment