var is an int. &var is the address of an int. If you try to use &var as a pointer to a char, the compiler will produce an error. The cast does not change var. All it does is lie to the compiler that var is a char. Using &var as a char* will now corrupt the int.
I assume you are learning C. My advice is to not cast, ever, unless your are forced into it. Any cast is a direction from you to the compiler to override the rules of the language.
Be careful.