struct.h:
#ifndef _STRUCT_H #define _STRUCT_H int i; #endif
#include "struct.h" void main(void) { i = 1; }
"I think the two statements don't do any work as they do in C compiler" Pardon? I don't understand what you're trying to say! Those lines are a standard 'C' coding practice known as an Include Guard - their purpose is to prevent any problems if you (accidentally) #include the same file twice.
There aren't those two lines in any header files in INC directory of KEIL why?