Question: what is difference between constant and volatile?
Answer: volatile is used to inform the compiler not to optimise the variable. The const modifier means that this code cannot change the value of the variable, but that does not mean that the value cannot be changed by means outside this code. ... Behavior is defined provided the object itself is not const.