<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 單片機(jī)c語言教程:C51運(yùn)算符和表達(dá)式(指針和地址運(yùn)算符)

          單片機(jī)c語言教程:C51運(yùn)算符和表達(dá)式(指針和地址運(yùn)算符)

          作者: 時(shí)間:2012-09-12 來源:網(wǎng)絡(luò) 收藏

          sizeof 符看上去這確實(shí)是個(gè)奇怪的符,有點(diǎn)像函數(shù),卻又不是。大家看到 size 應(yīng)該就猜到 是和大小有關(guān)的吧?是的,sizeof 是用來求數(shù)據(jù)類型、變量或是的字節(jié)數(shù)的一個(gè)運(yùn) 算符,但它并不像“=”之類符那樣在程序執(zhí)行后才能計(jì)算出結(jié)果,它是直接在編譯時(shí) 產(chǎn)生結(jié)果的。它的語法如下:

          sizeof (數(shù)據(jù)類型)

          sizeof () 下面是兩句應(yīng)用例句,程序大家能試著編寫一下。

          printf(char 是多少個(gè)字節(jié)? ½ 字節(jié)n,sizeof(char));

          printf(long 是多少個(gè)字節(jié)? ½ 字節(jié)n,sizeof(long));

          結(jié)果是:

          char 是多少個(gè)字節(jié)? 1 字節(jié)

          long 是多少個(gè)字節(jié)? 4 字節(jié)

          強(qiáng)制類型轉(zhuǎn)換運(yùn)算符 不知你們是否有自己去試著編一些程序,從中是否有遇到一些問題?開始學(xué)習(xí)時(shí)我就遇到過這樣一個(gè)問題:兩個(gè)不一樣數(shù)據(jù)類型的數(shù)在相互賦值時(shí)會(huì)出現(xiàn)不對(duì)的值。如下面的一段小程序:

          void main(void)

          {

          unsigned char a;

          unsigned int b;

          b=100*4;

          a=b;

          while(1);

          }

          這段小程序并沒有什么實(shí)際的應(yīng)用意義,如果你是細(xì)心的朋友定會(huì)發(fā)現(xiàn) a 的值是不會(huì)等于100*4 的。是的 a 和 b 一個(gè)是 char 類型一個(gè)是 int 類型,從以前的學(xué)習(xí)可知 char 只占一個(gè) 字節(jié)值最大只能是 255。但編譯時(shí)為何不出錯(cuò)呢?先來看看這程序的運(yùn)行情況:

          點(diǎn)擊瀏覽下一頁

          圖 9-3 小程序的運(yùn)行情況

          b=100*4 就能得知 b=0x190,這個(gè)時(shí)候我們能在 Watches 查看 a 的值,對(duì)于 watches 窗口我們 在第 5 課時(shí)簡單學(xué)習(xí)過,在這個(gè)窗口 Locals 頁里能查看程序運(yùn)行中的變量的值,也能在 watch 頁中輸入所要查看的變量名對(duì)它的值進(jìn)行查看。做法是按圖中 1 的 watch#1(或watch#2),然后光標(biāo)移到圖中的 2 按 F2 鍵,這樣就能輸入變量名了。在這里我們能查看到 a 的值為 0x90,也就是 b 的低 8 位。這是因?yàn)閳?zhí)行了數(shù)據(jù)類型的隱式轉(zhuǎn)換。隱式轉(zhuǎn)換是 在程序進(jìn)行編譯時(shí)由編譯器自動(dòng)去處理完成的。所以有必要了解隱式轉(zhuǎn)換的規(guī)則:

          c語言相關(guān)文章:c語言教程




          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();