Lets say I have 4Byte integer and I want to cast it to 2Byte short integer. Am I right that in both (little and big endian) short integer will consist of 2 least significant by
Yes. When you convert values, you don't have to worry about endianness.
Yes. When you convert pointers, you do.