What does it means?

#define abc '\xE8'

This is a pre=processor macro replacement

perl -e 'print chr(0xE8), "\n";'
�

So you have a constant abc which is replaced by the e-grave character before compilation.

that means can we say that the variable 'abc' is assigned with hex value.....??

No, there's no variable 'abc'. abc is a text block that will be replaced by the pre-processor. It's like telling the compiler to run a sed search/replace before starting compilation.

yes i got it now

but one thing i want to confirm that

'\xc0' is the HEX value. is it correct?

Yes, that is the case.

to all of you.....thank you for the help....hope in future i will get reply from all of you on another threads....

It's not a variable, it's a literal text substitution. Shortly before compiling, the preprocessor goes through it, replacing every individual word(never parts of words) that's abc and only abc with '\xea'. Only after that will it actually compile the code.