Explain the difference between the volatile and const keywords in C, and describe a scenario where they are used together.