How is short int (or short) and int different in C? They have the same size and range. If they are essentially the same, what is the use of having two data types?
Actually everything depends on compiler and system both. But the basic rule says that int can never be less than short and can never be greater than long.