const is just an added part to make sure you can't change the memory location of the variable or the output of a function.
constint x = 5;
The memory that x is stored at is not allowed to be accessed by x, x is not off limits to it. It can read it but can not write to it. Can you change it still, yes, but not using x. You wouldhave to use pointers to do this. But no matter how many times you put in const, it won'r change anything. Only 1 is needed but you can put in as many as you like.
Nah, it just tells the compiler to put a lock on the space or the output should be in a space that is locked. It was a very good question to ask because most people don't fully understand const even though it is very import. Like when you declare
char Buffer[BUFFER_MAX];
Because all array lengths MUST BE CONSTANTS when declared, you need to use const to declare it but you can get around a fixed size if you use functions to create a constant variable. C/C++ always has tricks to get around everything, just have to play around to find them.