2012-11-06 28 views

Trả lời

8

Đó là con trỏ đến dữ liệu dễ bay hơi. Nếu con trỏ bản thân nên không ổn định nhưng không phải là dữ liệu mà nó trỏ vào, bạn muốn sử dụng:

void * volatile ptr; 

Vì vậy, có, nó hoạt động theo cách tương tự như sửa đổi const.

+0

oh thnx .. nó có nghĩa giống như 'const' ..Chúng ta đặt' const' trước và sau '*' và ý nghĩa thay đổi đúng không? – Omkant

+2

Có; 'volatile void * ptr' =' void volatile * ptr' – Kos

4

Một Microsoft explanation:

Các từ khóa volatile quy định rằng giá trị gắn liền với tên mà sau có thể được sửa đổi bởi các hành động khác hơn so với những người trong ứng dụng người dùng.

Từ khóa dễ bay hơi rất hữu ích để khai báo các đối tượng trong bộ nhớ dùng chung có thể được nhiều quy trình truy cập.

+1

Cũng như địa chỉ bộ nhớ đại diện cho một phần của phần cứng, thay vì bộ nhớ thực tế, ví dụ: "địa chỉ" của một cổng nối tiếp, hoặc một ổ cứng DMA hoặc một cái gì đó. –

2

Cả hai constvolatiletype qualifiers (chúng là các loại loại duy nhất trong C, trên thực tế). Cú pháp để sử dụng chúng giống hệt nhau.

Các vấn đề liên quan