1)    Volatile:
A variable should be declared volatile whenever its value could change unexpectedly. In practice, only three types of variables could change:
? Memory-mapped peripheral registers
? Global variables modified by an interrupt service routine
? Global variables within a multi-threaded application
2) Constant:
The addition of a ‘const’ qualifier indicates that the (relevant part of the) program may not modify the
variable.