One of the key benefits of the C language, which is the reason it is so popular for embedded applications, is that it is a high-level, structured programming language, but has low-level capabilities.
Does it ever make sense to declare a variable in C or C++ as both volatile (in other words, “ever-changing”) and const (“read-only”)? If so, why? And how should you combine volatile and const properly ...