導(dǎo)讀 關(guān)于unsigned char是什么類型,unsigned char是什么意思這個(gè)問題很多朋友還不知道,今天小六來(lái)為大家解答以上的問題,現(xiàn)在讓我們一起來(lái)看
關(guān)于unsigned char是什么類型,unsigned char是什么意思這個(gè)問題很多朋友還不知道,今天小六來(lái)為大家解答以上的問題,現(xiàn)在讓我們一起來(lái)看看吧!
1、unsigned char 是無(wú)符號(hào)字符型volatile 易變,易失的volatile unsigned char i;意思是定義一個(gè)無(wú)符號(hào)字符型的變量 i。
2、這個(gè)變量存放在內(nèi)存中,要用的時(shí)候需要從內(nèi)存中取出。
3、一般的邏輯是“準(zhǔn)備用變量----去對(duì)應(yīng)的內(nèi)存地址取變量----用變量”,而現(xiàn)在編譯器編介入后,就把i 的值放在R寄存器里,每次從R寄存器里取值,而不從內(nèi)存取值。
4、這樣問題就出現(xiàn)了,有的時(shí)候寄存器里存放的值會(huì)發(fā)生意想不到的改變,這個(gè)時(shí)候編譯器如果還是從寄存器取值的話,程序就會(huì)得不到預(yù)計(jì)的結(jié)果,或者得到預(yù)料外的結(jié)果。
5、所以就必須強(qiáng)迫編譯器從原始地址取值,volatile 就是這個(gè)作用,聲明它是一個(gè)會(huì)被意想不到改變的變量,不讓編譯器優(yōu)化它,讓編譯器從原始地址取值。
本文分享完畢,希望對(duì)大家有所幫助。
標(biāo)簽:
免責(zé)聲明:本文由用戶上傳,如有侵權(quán)請(qǐng)聯(lián)系刪除!