Oracle Solaris Studio 12.2: C ユーザーガイド

6.6.5 volatile は文字どおりの解釈を意味する

ここまでは、例の中でいずれも const を使用してきました。概念としてはこの方が簡単だからです。しかし、volatile はどのような意味でしょうか。volatile という言葉は「揮発性の」、つまりすぐに変わってしまうという意味を持ちます。そのためコンパイラでは、コード生成時にこのようなオブジェクトにアクセスするためのショートカットは行われません。ANSI/ISO C では、オブジェクトを volatile 修飾型として宣言するかどうかはプログラマの責任であると規定しています。