C isn't necessarily for computers. For example, if you're developing for the Game Boy Advance, you often come upon memory locations that are modified by the hardware, so you might not modify the variable in your code, but it gets modified anyway. That's what volatile means.
By adding the volatile keyword, you're telling the compiler that "The value stored in this variable (memory location) might change without my code doing anything."