사용 목적 첫째, volatile 키워드로 선언한 포인터는 컴파일러가 최적화를 하지 않습니다. 코드 최적화를 하면 안되는 임베디드나 멀티 쓰레드 환경에서 많이 씁니다. 둘째, volatile 키워드로 선언하면 해당 메모리 공간으로 전송되는 데이터는 캐쉬되지 않습니다. 이 뜻은 메모리에 직접 연산을 한다는 것입니다. 사용 예시 포인터가 가르키는 개체를 volatile로 선언 할 땐 변수 형식 지정자 앞에 선언합니다. 1volatile char* ptr; 포인터에 저장된 실제 주소를 volatile로 선언 할 땐 변수 형식 지정자 뒤에 선언합니다. 1char* volatile ptr;