volatile ULONG* p = (ULONG*)0x400; ULONG volatile* p = (ULONG*)0x400; Переменная "p" является указателем на волатильный ULONG, лежащий по адресу 0x400. ULONG* volatile p = (ULONG*)0x400; Переменная "p" является волатильным указателем на ULONG, лежащий по адресу 0x400. При использовании указателей для "volatile", как и для "const", действует очень простое правило – нужно смотреть, с какой стороны звёздочка. Она играет роль разделителя между указателем и его целью. Соответственно всё, находящееся по левую сторону звезды, относится к цели указателя, а всё, что по правую – к самому указателю.