volatile void * ptr;
是否ptr
是volatile
或指向volatile location
。C語言中這些volatile指針的含義是什麼?
所以,實際的疑問是: 是否適用於上述聲明,因爲它適用於const
限定符?
小解釋會幫助我很多。
volatile void * ptr;
是否ptr
是volatile
或指向volatile location
。C語言中這些volatile指針的含義是什麼?
所以,實際的疑問是: 是否適用於上述聲明,因爲它適用於const
限定符?
小解釋會幫助我很多。
這是一個指向易失性數據的指針。如果指針本身應該是揮發性的,但不是指向數據,你會使用:
void * volatile ptr;
所以,是的,它的工作方式爲const
修飾符相同。
揮發性關鍵字指定與如下可以通過比在用戶應用程序的其他動作被修改的名稱相關聯的值。
volatile關鍵字對於在共享內存中聲明可以被多個進程訪問的對象很有用。
除了代表一塊硬件而不是實際內存的內存地址,例如串行端口的「地址」,或DMA的HDD等等。 –
const
和volatile
都是type qualifiers(它們是C中唯一的類型限定符,事實上)。使用它們的語法是相同的。
oh thnx ..它的意思和'const'一樣..我們把'const'放在'*'的前後,意思就變了嗎? – Omkant
是的; 'volatile volatile * ptr' ='void volatile * ptr' – Kos